Masalah:
Anda ingin menemukan catatan dengan NULL di kolom.
Contoh:
Basis data kami memiliki tabel bernama children
dengan data dalam empat kolom:id
, first_name
, middle_name
, dan last_name
.
id | nama_depan | nama_tengah | nama_belakang |
---|---|---|---|
1 | John | Carl | Jackson |
2 | Tom | NULL | Thomson |
3 | Lisa | Alice | NULL |
4 | Anne | NULL | Smith |
Mari kita cari id, nama depan, dan nama belakang anak tanpa nama tengah (NULL di kolom middle_name
). Kami menggunakan operator IS NULL untuk ini.
Solusi:
SELECT id, first_name, last_name FROM children WHERE middle_name IS NULL;
Ini hasilnya:
id | nama_depan | nama_belakang |
---|---|---|
2 | Tom | Thomson |
4 | Anne | Smith |
Ini hanya mengembalikan catatan dengan NULL di middle_name
, jadi Tom dan Anne hadir, tetapi bukan John dan Lisa yang memiliki nama tengah.
Diskusi:
Gunakan IS NULL
operator dalam kondisi dengan WHERE untuk menemukan catatan dengan NULL dalam kolom. Tentu saja, Anda juga dapat menggunakan ekspresi apa pun alih-alih nama kolom dan memeriksa apakah itu mengembalikan NULL. Tidak lebih dari nama kolom dan operator IS NULL diperlukan (dalam contoh kita, middle_name IS NULL
). Letakkan kondisi ini dalam klausa WHERE untuk memfilter baris (dalam contoh kita, WHERE middle_name IS NULL
). Jika kondisinya benar, kolom menyimpan NULL dan baris ini dikembalikan. Di atas, kueri hanya mengembalikan dua record dengan anak Tom dan Anne, yang tidak memiliki nama tengah, jadi kolom middle_name
menyimpan NULL.