Anda di halaman 1dari 5

PRAKTIKUM BASIS DATA

MODUL 3
CONDITIONAL SQL

LABORATORIUM REKAYASA PERANGKAT LUNAK


TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2015
Laboratorium Teknik Informatika UMM

Page 1

Modul 3
Conditional SQL

I.

Tujuan
1. Mengenal dan memahami konsep conditional SQL
2. Memahami dan mengimplementasikan operator conditional SQL seperti AND, OR, LIKE,
BETWEEN, =, <, >, <=, >=, <>
3. Mengenal dan memahami konsep penggunaan operasi nested query
4. Memahami dan mengimplementasikan operator IN, NOT IN, EXIST, NOT EXIST dalam
SQL

II. Perlengkapan yang dibutuhkan:


1. Komputer Set (memory >= 1GB, CPU >= PIV)
2. Oracle XE
3. SQL manager console/ TOAD/ SQL Developer
III. Dasar Teori
A. SQL
SQL ( Structured Query Language ) merupakan bahasa query yang digunakan untuk
mengakses database relasional. SQL sekarang sudah menjadi bahasa database standard
dan hampir semua sistem database memahaminya. SQL terdiri dari berbagai jenis
statemen. Semuanya didesain agar memungkinkan untuk dapat secara interaktif
berhubungan dengan database.
syntax dari SQL-SELECT
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]

B. WHERE <KONDISI> untuk filter


Where digunakan untuk filter atau pencarian data sesuai dengan kondisi tertentu yang ada di
dalam suatu database, ada berbagai bentuk ekpresi di dalam kondisi yang ada di where clause,
yaitu:
-

operasi pembandingan

operasi pendekatan pola string (string matching)

Operasi pembandingan dengan sekumpulan nilai

Laboratorium Teknik Informatika UMM

Page 2

Operasi : = < <= >= > <> IS


Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah nilai yang belum berisi
nilai. Perlu diketahui, bahwa nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string
kosong pada tipe string.
Misal:
- menampilkan anggota yang berjenis kelamin laki-laki:
SELECT * FROM Anggota WHERE JK=L
- menampilkan Anggota yang tahun kelahirannya lebih dari 1985:
SELECT * FROM Anggota WHERE extract (YEAR FROM tgllahir) > 1985
- menampilkan Anggota wanita yang lahir di bulan Juli:
SELECT * FROM anggota
WHERE JK=P AND extract (MONTH FROM tgllahir) = 6
- menampilkan idKoleksi yang belum dikembalikan (TglKembali belum terisi)
SELECT * FROM Peminjaman WHERE TglKembali IS NULL

Operasi LIKE (pendekatan pola)


khusus string
Operasi ini, hanya untuk pembandingan nilai bertipe string. Digunakan untuk mengenali string
-string yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-simbol berikut:
-

simbol % artinya mewakili 0 s/d tak terhingga dari sembarang karakter.

simbol _ artinya mewakili 1 sembarang karakter.

misal:
- menampilkan anggota yang nama depannya: Budi
SELECT * FROM anggota WHERE Nama LIKE Budi%
- menampilkan Anggota yang huruf ketiga namanya adalah d, dua garis bawah ( _ _ ) sebelum
huruf d.
SELECT * FROM anggota WHERE Nama LIKE __d%
- menampilkan koleksi yang judulnya terdapat kata pemrograman
SELECT * FROM koleksi WHERE Judul LIKE %pemrograman%

Laboratorium Teknik Informatika UMM

Page 3

operasi IN atau NOT IN ...


Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai, yang mana
kumpulan nilai bisa berupa:
-

nilai-nilai yang diisikan

query tunggal (query yg hasilnya hanya terdapat sebuah kolom saja)

Nilai-nilai yang diisikan, maksudnya kita sendiri yang mengisikan nilai-nilai tersebut di dalam
query kita. Misalnya:
- menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2):
SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2)
- menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 1 dan 3)
SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (1, 3)

Query tunggal,
yakni nilai-nilai yang digunakan sebagai pembanding diambil dari sebuah query tunggal yang
hasilnya hanya satu kolom saja. Misalnya:
- menampilkan anggota yang belum pernah meminjam buku sama sekali:
SELECT * FROM anggota
WHERE id NOT IN (SELECT DISTINCT idAnggota FROM Peminjaman)
perhatikan tambahan klausa DISTINCT di atas untuk mempercepat proses, walau toh tanpa
DISTINCT hasilnya juga sama.
- menampilkan koleksi yang sedang dipinjam:
SELECT * FROM koleksi WHERE idKoleksi IN (SELECT idKoleksi
FROM Peminjaman WHERE TglKembali is NULL)

Laboratorium Teknik Informatika UMM

Page 4

IV LAngkah-langkah praktikum (soal latihan)


Dalam materi praktikum modul ini digunakan contoh data dari user HR. Pertama kali aktifkan
user HR dengan terlebih dahulu login sebagai system, dan setting user HR di database user
administration agar tidak ter-unlock. Setelah user HR diaktifkan, loginlah sebagai user HR.
Dengan menggunakan data-data yang terdapat di dalam user HR tersebut, selesaikan
beberapa soal-soal latihan berikut, kemudian buat screen shot-nya sekaligus SQLnya :
1.
Dapatkan Employee dengan nama depan berinisial D
2.
Dapatkan Employee yang hiring date-nya diantara bulan juni 1994 dan agustus 1998
3.
Dapatkan Employee yang memiliki gaji diatas 1000
4.
Dapatkan Employee yang memiliki JOB ID selain IT_PROG dan FI_ACCOUNT
5.
Dapatkan nama dank ode COUNTRIES yang memiliki region ID 1, 3, 5, dan 7
6.
Dapatkan JOB TITLE yang minimal salary-nya diantara 1000-5000 dan maximal salary-nya
diantara 12000 dan 15000

Laboratorium Teknik Informatika UMM

Page 5

Anda mungkin juga menyukai