SQL - IS NULL: Menungkai Seni Penanganan Nilai NULL
Halo, para penggemar basis data yang bersemangat! Selamat datang ke dalam perjalanan menarik kita ke dunia SQL, tempat kita akan mengungkapkan realm yang mistik nilai NULL. Saya adalah panduan Anda, Professor Query, dan hari ini kita akan merongrong rahasia operator IS NULL. Jadi, siapkan buku catatan maya Anda, dan mari kita masuk ke dalamnya!
Operator SQL IS NULL: Superhero Deteksi NULL
Bayangkan Anda di sebuah pesta, dan Anda mencoba untuk menemukan siapa yang tidak membawa hadiah. Dalam dunia basis data, IS NULL seperti detektor hadiah super Anda, membantu Anda melihat tamu yang datang tanpa tangan kosong (atau dalam kasus kita, field basis data yang kosong).
Operator IS NULL digunakan untuk menguji nilai kosong (nilai NULL) dalam basis data. Tetapi tunggu, apa sebenarnya NULL itu?
NULL bukan nol. Itu bukan string kosong. Itu adalah keabsenan nilai apa pun. Bayangkan itu seperti equvalen basis data dari emoji menyangkut ?♂️.
Berikut adalah daftar singkat operator yang berkaitan dengan NULL:
Operator | Deskripsi |
---|---|
IS NULL | Memeriksa jika nilai NULL |
IS NOT NULL | Memeriksa jika nilai bukan NULL |
Sekarang, mari kita lihat bagaimana kita bisa menggunakan superhero ini dalam berbagai konteks SQL!
IS NULL dengan Statement SELECT: Menemukan Yang Tak Terlihat
Penggunaan Dasar
Mari kita mulai dengan contoh sederhana. Misalnya, kita memiliki tabel bernama students
dengan kolom student_id
, name
, dan email
. Beberapa murid belum memberikan alamat email mereka.
SELECT * FROM students
WHERE email IS NULL;
Query ini akan mengembalikan semua baris dimana field email adalah NULL. Itu seperti mengatakan, "Tampilkan semua murid yang lupa menuliskan alamat email mereka!"
Kombinasi Dengan kondisi Lain
Kita juga bisa mengkombinasikan IS NULL dengan kondisi lain. Misalnya:
SELECT name, student_id
FROM students
WHERE email IS NULL AND student_id > 1000;
Query ini mengatakan, "Berikan saya nama dan ID murid tanpa email dan ID lebih besar dari 1000." Itu seperti menjadi detektif, mengecilkan kriteria pencarian Anda!
IS NULL dengan Fungsi COUNT(): Menghitung Yang Kosong
Fungsi COUNT() bisa menjadi teman bagus untuk IS NULL. Mari kita lihat bagaimana mereka bekerja bersama:
SELECT COUNT(*) AS total_students,
COUNT(email) AS students_with_email,
COUNT(*) - COUNT(email) AS students_without_email
FROM students;
Query ini memberikan kita tiga informasi:
- Jumlah total murid
- Jumlah murid dengan alamat email
- Jumlah murid tanpa alamat email
Ingat, COUNT(*) menghitung semua baris, sedangkan COUNT(email) hanya menghitung nilai email yang bukan NULL. Itu seperti menghitung semua tamu pesta, kemudian menghitung mereka yang membawa hadiah, dan mengurangi untuk menemukan yang datang tangan kosong!
IS NULL dengan Statement UPDATE: Mengisi Yang Kosong
kadang-kadang, kita ingin mengupdate nilai NULL menjadi sesuatu yang lebih berarti. Berikut cara melakukan itu:
UPDATE students
SET email = '[email protected]'
WHERE email IS NULL;
Query ini mengganti semua nilai email NULL dengan '[email protected]'. Itu seperti memberikan hadiah default ke semua tamu yang datang tangan kosong!
Contoh Lebih Kompleks
Misalnya, kita ingin mengupdate alamat email NULL dengan kombinasi nama murid dan domain default:
UPDATE students
SET email = LOWER(REPLACE(name, ' ', '_')) || '@student.example.com'
WHERE email IS NULL;
Query ini melakukan hal berikut bagi murid dengan email NULL:
- Mengambil namanya
- Mengganti spasi dengan garis bawah
- Mengubahnya menjadi huruf kecil
- Menambah '@student.example.com' di akhir
Jadi, "John Doe" menjadi "[email protected]". Itu seperti membuat name tag pribadi bagi mereka yang lupa miliknya!
IS NULL dengan Statement DELETE: Menghapus Yang Kosong
kadang-kadang, kita mungkin ingin menghapus baris dengan nilai NULL. Berikut cara melakukan itu:
DELETE FROM students
WHERE email IS NULL;
Query ini menghapus semua baris dimana email adalah NULL. Hatikan ini! Itu seperti mengusir semua tamu pesta yang datang tanpa hadiah – agak kejam, bukan?
Pendekatan Lebih Aman
Sebagai alternatif, kita mungkin ingin memindahkan baris ini ke tabel lain:
INSERT INTO incomplete_records
SELECT * FROM students
WHERE email IS NULL;
DELETE FROM students
WHERE email IS NULL;
Pendekatan ini pertama-tama memindahkan catatan email NULL ke tabel 'incomplete_records' sebelum menghapusnya dari tabel utama. Itu seperti memindahkan tamu tangan kosong ke ruangan lain daripada mengusir mereka sepenuhnya!
Kesimpulan: Menyambut NULL
Dan begitu Anda, teman-teman sekolah! Kita telah mengeksplorasi operator IS NULL dan penggunaannya dalam berbagai SQL. Ingat, nilai NULL bukan musuh Anda – mereka hanya informasi yang belum dipahami dan menunggu penanganan yang benar.
Segera Anda teruskan perjalanan SQL Anda, tetap curiga, dan ingat: di dunia basis data, kadang-kadang sesuatu yang kosong (NULL) bisa berarti segala sesuatu!
Tetap berlatih, tetap curiga, dan ingat: di dunia basis data, kadang-kadang sesuatu yang kosong (NULL) bisa berarti segala sesuatu!
Credits: Image by storyset