Kelompok Pengguna Linux Indonesia [KPLI], Area Klaten [PELIK] Homepages
Mengenal SQL
Sub-SELECT Query sebelumnya hanya membahas tentang mendapatkan pegawai yang memiliki anak. Namun bagaimana memperoleh hasil query untuk pegawai yang belum memiliki anak? Jelas kita tidak dapat menggunakan query terakhir yang memanfaatkan COUNT, karena - sekali lagi - query tersebut hanya untuk pegawai yang memiliki anak. Logika dari query yang akan kita buat kali ini adalah: tampilkan seluruh pegawai dimana ID pegawai tidak ditemui di tabel anak. Pertama-tama tampilkan seluruh pegawai: SELECT * FROM pegawai;
id | nama ---+----- 1919 | Owo Sugiana 1920 | Pribadi Endro 1921 | Eko Pranoto 1922 | Agus 1923 | Riki Kemudian "saring" kembali hasil query diatas dengan memanfaatkan operator NOT IN: SELECT * FROM pegawai WHERE id NOT IN (SELECT id_pegawai FROM anak);
id | nama ---+----- 1919 | Owo Sugiana 1920 | Pribadi Endro 1921 | Eko Pranoto SELECT dalam SELECT inilah yang disebut dengan
sub-SELECT. Hasil query yang sama juga bisa diperoleh dengan menggunakan operator NOT EXIST: SELECT * FROM pegawai p WHERE NOT EXIST (SELECT * FROM anak a WHERE a.id_pegawai = p.id);