Perancangan Basis Data 1 Ekspresi Kondisi Ekspresi Berkondisi
Perancangan Basis Data 1 Ekspresi Kondisi
Ekspresi Berkondisi l Bentuk umum: CASE nilai_ekspresi WHEN nilai_ekspresi THEN nilai_ekspresi [ [ WHEN nilai_ekspresi THEN nilai_ekspresi ] … ] [ ELSE nilai_ekspresi ] END l Bentuk ini dapat dimanfaatkan untuk mengubah keluaran yang berbeda dengan data asalnya
Ekspresi Berkondisi (Lanjutan…) l Contoh SELECT NIP, CASE Kota WHEN 'Yogya' THEN 'Jogjakarta' END FROM Pribadi; l Contoh hasil: +---------------------------+ | NIP | CASE Kota WHEN 'Yogya' THEN 'Jogjakarta' END | +---------------------------+ | 12345 | Jogjakarta | | 12346 | NULL | | 12347 | NULL | | 12348 | NULL | | 12349 | NULL | | 12350 | Jogjakarta | | 12351 | NULL | | 12352 | NULL | | 12353 | Jogjakarta | | 12354 | Jogjakarta | | 12370 | NULL | +---------------------------+ 11 rows in set (0. 00 sec)
Ekspresi Berkondisi (Lanjutan…) l Cobalah pula SELECT NIP, CASE Kota WHEN 'Yogya' THEN 'Jogjakarta' ELSE ‘Bukan Jogjakarta’ END FROM Pribadi; l Cobalah pula SELECT NIP, CASE Kota WHEN 'Yogya' THEN 'Jogjakarta' ELSE Kota END FROM Pribadi;
Penggunaan Fungsi IF l Bentuk umum: IF (ekspresi 1, ekspresi 2, ekspresi 3) l Hasil berupa: l ekspresi 2 kalau ekspresi 1 bernilai True l ekspresi 3 kalau ekspresi 1 bernilai False
Penggunaan Fungsi IF (Lanjutan…) l Contoh: SELECT Nama, Kelamin FROM Pribadi; l Bandingkan dengan: SELECT Nama, IF(Kelamin='P', 'Pria', 'Wanita') FROM Pribadi;
Latihan Tambahkan field Agama bertipe CHAR(1) pada Tabel Pribadi. l Isikan data: l l l l 1 untuk ISLAM 2 untuk KRISTEN 3 untuk KATHOLIK 4 untuk BUDHA 5 untuk HINDU 6 untuk KONGHUTCU Pastikan semua kode tsb digunakan
Latihan (lanjutan…) l Tampilkan NIP, Nama, dan nama agamanya dengan memanfaatkan WHEN
Latihan Buatlah Tabel bernama SKOR l Struktur: l NIP : CHAR(5) sebagai KUNCI PRIMER l Skor: SMALLINT l l Isikan data sesuai dengan NIP pada Pribadi. Pastikan ada nilai-nilai seperti berikut: 90, 85, 80, 75, 63, 53, 86, 70, dan 95
Latihan (Latihan…) Tampilkan informasi NIP, Nama, dan Kondisi l Kondisi ditentukan oleh tabel berikut: l Nilai > 90 : 80 < Nilai < 90 : 70 < Nilai < 80 : 60 < Nilai < 70 : Nilai < 60 : Prima Bagus Cukup Biasa Kurang
Subquery l Subquery (kadangkala juga disebut subselect) merupakan bentuk query yang terletak dalam query yang lain. l Contoh: SELECT NIP, Gaji FROM Pekerjaan WHERE gaji = ( SELECT MAX(gaji) FROM Pekerjaan);
Operator IN dalam Subquery l Contoh: SELECT Nama FROM Pribadi WHERE Nip IN (SELECT DISTINCT Nip FROM Tanggungan); l Apa maknanya? l Bandingkan dengan: SELECT Nama FROM Pribadi WHERE Nip NOT IN (SELECT DISTINCT Nip FROM Tanggungan);
Latihan l Tampilkan semua NIP yang ada pada Pribadi tetapi tidak ada pada tabel Pekerjaan l Siapa saja yang gajinya paling rendah dan berapa gajinya? l Siapa saja yang gajinya di atas rata-rata?
Latihan Perhatikan empat tabel berikut. Pada BUKU 2, Kode_Rinci menyatakan kode untuk masing-masing buku dengan judul yang sama, yang dalam kenyataan akan dinyatakan dengan identitas seperti C-1 yang berarti buku pertama, C-2 buku kedua dan seterusnya. Perlu juga diketahui, satu buku bisa ditulis oleh lebih dari seorang pengarang.
Latihan (Lanjutan…)
Latihan 1. 2. 3. 4. 5. Menampilkan judul buku, nama pengarang, dan nama penerbit yang jumlah bukunya lebih dari satu. Menampilkan judul buku edisi pertama yang diterbitkan oleh Gramedia. Menampilkan nama penerbit yang bukunya tidak tercatat pada tabel BUKU 1 Sebutkan lokasi penerbit yang penerbitnya lebih dari satu Sebutkan judul buku yang ditulis hanya oleh satu pengarang
- Slides: 16