Null Value

Pemula

Null Value adalah representasi dari "data yang nggak ada" atau "belum diisi" dalam database. Ini bukan angka nol, bukan string kosong, dan punya sifat unik yang sering bikin bingung.

NULL itu salah satu konsep paling sederhana sekaligus paling sering disalahpahami di dunia database. Kalau kamu pernah nulis query SQL dan hasilnya aneh saat ada nilai NULL di kolom, kamu nggak sendiri. Banyak data practitioner berpengalaman pun masih perlu double-check cara NULL berperilaku.

NULL Bukan Nol, Bukan Kosong

NilaiMaknanyaContoh
NULLNilai tidak ada atau tidak diketahuiNomor telepon belum diisi
0Angka nol yang validTransaksi dengan diskon 0%
'' (empty string)String kosong tapi sengaja adaKomentar yang dikosongkan oleh user
'NULL' (string literal)Teks "NULL" bukan nilai NULL yang sebenarnyaKesalahan input yang sering terjadi

Bayangkan kamu bikin survei. Ada responden yang nulis "0 anak" (punya anak tapi jumlahnya nol) itu angka 0 yang valid. Tapi responden yang nggak jawab pertanyaannya sama sekali? Itu NULL, karena kita nggak tahu jawabannya.

Sifat Unik NULL: Three-Valued Logic

NULL di SQL punya perilaku yang beda dari nilai biasa. Logika SQL pakai Three-Valued Logic: TRUE, FALSE, dan UNKNOWN.

Perbandingan apapun dengan NULL menghasilkan UNKNOWN, bukan TRUE atau FALSE. Makanya:

  • NULL = NULL menghasilkan UNKNOWN (bukan TRUE!)
  • NULL != NULL juga menghasilkan UNKNOWN
  • NULL + 1 = NULL (NULL "menular" dalam operasi aritmatika)

Karena itu, untuk cek NULL kamu pakai IS NULL atau IS NOT NULL, bukan = NULL.

NULL dalam Fungsi Agregat

FungsiPerilaku dengan NULL
SUM, AVG, MIN, MAXOtomatis mengabaikan NULL
COUNT(*)Menghitung semua baris, termasuk yang punya NULL
COUNT(kolom)Menghitung baris yang nilainya bukan NULL

Ini penting banget! COUNT(*) dan COUNT(kolom) bisa kasih hasil yang beda kalau ada NULL di kolom tersebut. Banyak laporan yang salah gara-gara nggak aware soal perbedaan ini.

Kapan NULL Muncul?

NULL bisa muncul dari berbagai sumber:

  • Field yang memang opsional dan belum diisi user
  • Hasil LEFT JOIN yang nggak nemu pasangannya di tabel kanan
  • Hasil fungsi yang nggak ketemu nilai (misalnya NULLIF)
  • Data migration yang nggak lengkap

Cara Handle NULL dengan Baik

Beberapa pendekatan yang sering dipakai: gunakan COALESCE untuk substitusi NULL dengan nilai default yang masuk akal. Pakai IS NULL dan IS NOT NULL untuk filter yang benar. Dokumentasikan kolom mana yang memang boleh NULL dan apa artinya secara bisnis, biar tim lain nggak bingung.

Lanjut Latihan

Udah paham Null Value? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →