SQL - IS NULL: Menjawar Teknik Mengurus Nilai NULL

Hello, penggemar basis data yang bersemangat! Selamat datang ke perjalanan kita ke dunia yang menarik SQL, di mana kita akan menjelajahi realm yang mistik nilai NULL. Saya pemandu Anda, Professor Query, dan hari ini kita akan merongrong rahasia operator IS NULL. Jadi, ambil papan tulis maya Anda, dan mari kita masuk!

SQL - IS NULL

Operator SQL IS NULL: Superhero Detektor NULL

Bayangkan Anda di sebuah pesta, dan Anda mencoba untuk mengetahui siapa yang tidak membawa hadiah. Dalam dunia basis data, IS NULL seperti superhero detektor hadiah Anda, membantu Anda melihat tamu yang 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 itu sebenarnya NULL?

NULL bukan nol. Itu bukan string kosong. Itu adalah kehilangan nilai apapun. PERTHINKannya seperti kesetaraan basis data dari emoji mengecut ?‍♂️.

Berikut adalah panduan cepat 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 Pernyataan SELECT: Mencari yang Tak Terlihat

Penggunaan Dasar

Mari kita mulai dengan contoh sederhana. Misalnya, kita memiliki tabel yang disebut students dengan kolom student_id, name, dan email. Beberapa siswa belum memberikan alamat email mereka.

SELECT * FROM students
WHERE email IS NULL;

Query ini akan mengembalikan semua baris di mana field email adalah NULL. Itu seperti bertanya, "Tampilkan semua siswa yang lupa menulis 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 siswa tanpa email dan ID lebih besar dari 1000." Itu seperti menjadi detektif, menyusun kriteria pencarian Anda!

IS NULL dengan Fungsi COUNT(): Menghitung Kosong

Fungsi COUNT() bisa menjadi teman yang bagus bagi 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:

  1. Jumlah total siswa
  2. Jumlah siswa dengan alamat email
  3. Jumlah siswa tanpa alamat email

Ingat, COUNT(*) menghitung semua baris, sedangkan COUNT(email) hanya menghitung nilai non-NULL email. Itu seperti menghitung semua tamu pesta, kemudian menghitung mereka yang membawa hadiah, dan mengurangi untuk mengetahui berapa yang datang tangan kosong!

IS NULL dengan Pernyataan UPDATE: Mengisi Kosong

kadang-kadang, kita ingin mengupdate nilai NULL menjadi sesuatu yang lebih bermakna. 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 tangan kosong!

Contoh Lebih Kompleks

Misalnya, kita ingin mengupdate alamat email NULL dengan kombinasi nama siswa dan domain default:

UPDATE students
SET email = LOWER(REPLACE(name, ' ', '_')) || '@student.example.com'
WHERE email IS NULL;

Query ini melakukan hal berikut bagi siswa dengan email NULL:

  1. Mengambil namanya
  2. Mengganti spasi dengan garis bawah
  3. Mengubahnya menjadi huruf kecil
  4. Menambah '@student.example.com' di akhir

Jadi, "John Doe" menjadi "[email protected]". Itu seperti membuat name tag pribadi bagi mereka yang lupa!

IS NULL dengan Pernyataan DELETE: Menghapus 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 di mana email adalah NULL. Hatikan ini! Itu seperti mengusir semua tamu pesta yang tangan kosong – 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: Mengakui NULL

Dan itu adalah, teman-teman! Kita telah menjelajahi operator IS NULL dan penggunaannya dalam berbagai konteks SQL. Ingat, nilai NULL bukan musuh Anda – mereka adalah informasi yang kurang dipahami menunggu untuk ditangani dengan benar.

Sebagai Anda terus menjalankan perjalanan SQL Anda, Anda akan menemukan bahwa menguasai penanganan NULL sangat penting untuk menjaga basis data yang bersih dan akurat. Itu seperti menjadi tuan rumah yang terampil, memastikan bahwa semua orang terhitung, bahkan mereka yang datang tangan kosong!

Terus latih, tetap curiga, dan ingat: di dunia basis data, kadang-kadang nothing (NULL) bisa berarti segala sesuatu!

Credits: Image by storyset