Pelajaran 30 / 37 · Menyusun query
NOT IN dengan NULL di daftarnya tidak meloloskan baris apa pun
Research tidak punya karyawan, tetapi query ini tidak mengembalikan baris apa pun. Dennis tidak punya departemen, jadi hasil subquery berisi NULL, dan 4 NOT IN (1, 2, 3, NULL, 9) hasilnya tidak diketahui: bisa saja 4 sama dengan NULL itu. Akibatnya setiap baris mendapat ∅ atau ✗.
Query-nya
SELECT name
FROM departments
WHERE id NOT IN (SELECT dept_id FROM employees)
Coba WHERE dept_id IS NOT NULL di subquery: NULL keluar dari daftar, dan Research lolos. NOT EXISTS juga terhindar dari jebakan ini.
Berikutnya: UNION menumpuk dua hasil query · Semua pelajaran