1. Pengertian NULL dalam MySQL
Dalam MySQL, NULL merepresentasikan nilai tidak diketahui, tidak ada, atau tidak ditentukan. NULL berbeda dengan nilai nol (0), string kosong (''), atau tipe data lainnya. Sebuah kolom yang berisi NULL berarti tidak memiliki nilai sama sekali.
Contoh:
INSERT INTO mahasiswa (nama, umur) VALUES ('Andi', NULL);
Artinya, umur Andi tidak diketahui atau tidak ditentukan.
2. Ciri Khas NULL
NULL bukan angka, bukan string, dan tidak dapat dianggap sebagai nilai yang pasti. Operasi aritmatika atau logika dengan NULL akan menghasilkan NULL.
Contoh:
SELECT NULL + 1; -- hasilnya NULL
3. Pengecekan NULL
MySQL menyediakan operator khusus untuk menangani NULL, yaitu:
IS NULL
IS NOT NULL
Contoh penggunaan:
SELECT * FROM mahasiswa WHERE umur IS NULL;
Artinya, menampilkan data mahasiswa yang tidak memiliki data umur.
4. Fungsi-Fungsi Terkait NULL
a. IFNULL(expr1, expr2)
Mengembalikan expr2 jika expr1 bernilai NULL, jika tidak maka mengembalikan expr1.
SELECT IFNULL(umur, 0) FROM mahasiswa;
b. COALESCE(value1, value2, ..., valueN)
Mengembalikan nilai pertama yang tidak NULL.
SELECT COALESCE(umur, 0) FROM mahasiswa;
c. NULLIF(expr1, expr2)
Mengembalikan NULL jika expr1 = expr2, jika tidak mengembalikan expr1.
SELECT NULLIF(10, 10); -- hasil: NULL
5. Pengaruh NULL pada Perbandingan dan Agregasi
Perbandingan seperti =, <, > tidak dapat digunakan untuk membandingkan nilai NULL.
Fungsi agregat seperti COUNT(), SUM(), AVG() mengabaikan nilai NULL, kecuali COUNT(*).
SELECT COUNT(umur) FROM mahasiswa; -- hanya menghitung yang umur-nya TIDAK NULL
SELECT COUNT(*) FROM mahasiswa; -- menghitung semua baris
6. Praktik Terbaik dalam Menangani NULL
Hindari menggunakan NULL untuk semua kolom yang diwajibkan (NOT NULL constraint).
Gunakan DEFAULT values saat memungkinkan untuk menghindari NULL.
Gunakan IS NULL secara eksplisit dalam kondisi logika.
7. Studi Kasus Singkat
Misalnya terdapat tabel:
CREATE TABLE pelanggan (
id INT PRIMARY KEY,
nama VARCHAR(100),
email VARCHAR(100),
telepon VARCHAR(20) NULL
);
Query untuk menampilkan pelanggan yang belum mengisi nomor telepon:
SELECT * FROM pelanggan WHERE telepon IS NULL;
0 Response to "NULL Values dalam MySQL"
Post a Comment
1. Dilarang menjadikan referensi tanpa mencantumkan sumbernya
2. Berkomentar yang relevan sesuai artikel
3. Gunakan bahasa yang baik dan santun