Study
SQL

NULL Handling: IS NULL & COALESCE

Penjelasan

NULL berarti "nilai tidak diketahui/tidak ada" — bukan nol, bukan string kosong. Konsekuensinya, `kolom = NULL` TIDAK PERNAH bernilai true (bahkan kalau kolomnya memang NULL!), karena secara logis "tidak diketahui = tidak diketahui" tetaplah tidak diketahui. Untuk mengecek NULL, WAJIB pakai `IS NULL`/`IS NOT NULL`. `COALESCE(kolom, fallback)` mengembalikan nilai pertama yang TIDAK NULL dari daftar argumennya — cara umum memberi nilai default kalau datanya NULL.

Contoh Konsep

-- SALAH, tidak akan pernah mengembalikan baris apa pun
SELECT * FROM users WHERE phone = NULL;

-- BENAR, wajib pakai IS NULL
SELECT * FROM users WHERE phone IS NULL;
SELECT * FROM users WHERE phone IS NOT NULL;

-- COALESCE: beri nilai fallback kalau NULL
SELECT name, COALESCE(phone, 'Belum diisi') AS nomor_telepon
FROM users;

Praktikum

Dari tabel 'articles' (kolom title, thumbnail_url), tulis query untuk menampilkan title beserta thumbnail_url, tapi kalau thumbnail_url NULL tampilkan 'default.jpg' memakai COALESCE.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kesalahan paling umum pemula SQL: menulis `WHERE kolom != NULL` untuk mencari baris yang TIDAK NULL — ini SELALU salah, harus `WHERE kolom IS NOT NULL`. Ingat: NULL tidak pernah dibandingkan dengan `=`/`!=`, hanya dengan `IS`.