SQL - IS NOT NULL: Panduan untuk Pemula
Halo, para ahli SQL masa depan! Hari ini, kita akan mendalami aspek menarik dari SQL yang saya lihat membuat banyak siswa bingung selama tahun. Tetapi jangan khawatir – pada akhir panduan ini, Anda akan menangani nilai NULL seperti seorang pro!
Operator SQL IS NOT NULL
Ayo mulai dari dasar. Dalam SQL, NULL adalah nilai khusus (atau lebih tepatnya, kekurangan nilai) yang mewakili informasi yang hilang atau tak diketahui. Itu seperti saat Anda mengisi formulir dan meninggalkan field kosong – itu esensialnya apa yang NULL dalam database.
Sekarang, mari kita lihat bagaimana hal ini menjadi sulit: Anda tidak bisa menggunakan operator perbandingan biasa seperti = atau != dengan NULL. Itu adalah tempat hero hari ini masuk – operator IS NOT NULL!
Sintaks Dasar
Sintaks dasar untuk IS NOT NULL adalah:
SELECT column_name(s)
FROM table_name
WHERE column_name IS NOT NULL;
Ayoura breakdown ini dengan contoh nyata. Bayangkan kita memiliki tabel bernama students
dengan kolom student_id
, name
, dan email
.
SELECT name, email
FROM students
WHERE email IS NOT NULL;
Query ini akan mengembalikan semua nama dan email murid, tapi hanya untuk murid yang memiliki alamat email dalam database. Itu seperti mengatakan, "Hey database, berikan saya semua murid yang benar-benar mengisi field email mereka!"
Mengapa Tidak Menggunakan '!=' atau '<>'?
Anda mungkin berpikir, " Mengapa kita tidak bisa saja menggunakan email != NULL
?" Pertanyaan yang bagus! Dalam SQL, NULL mewakili nilai yang tak diketahui. Karena itu tak diketahui, kita tidak bisa membandingkannya dengan apa pun – bahkan tidak dengan dirinya sendiri! Itu seperti mencoba membandingkan apel dengan... well, nothing.
Ayo lihat contoh:
-- Ini tidak akan bekerja seperti yang diharapkan
SELECT name, email
FROM students
WHERE email != NULL;
-- Cara yang benar
SELECT name, email
FROM students
WHERE email IS NOT NULL;
Query pertama akan sebenarnya mengembalikan hasil kosong, tanpa menghiraukan data di tabel Anda. Query kedua akan dengan benar mengembalikan semua baris di mana email memiliki nilai.
IS NOT NULL dengan Fungsi COUNT()
Sekarang kita mengerti dasar-dasar nya, ayo lihat bagaimana IS NOT NULL dapat digunakan dengan fungsi SQL lainnya, seperti COUNT().
Menghitung Nilai Non-NULL
Fungsi COUNT() digunakan untuk menghitung jumlah baris yang cocok dengan kriteria tertentu. Ketika digabungkan dengan IS NOT NULL, itu dapat memberitahu kita berapa banyak baris memiliki nilai dalam kolom tertentu.
SELECT COUNT(*) AS total_students,
COUNT(email) AS students_with_email
FROM students;
Dalam query ini, COUNT(*)
menghitung semua baris, sedangkan COUNT(email)
hanya menghitung baris di mana email bukan NULL. Itu adalah cara cepat untuk melihat betapa lengkap data Anda!
Perhitungan Persentase
Kita dapat mengambil langkah lebih jauh dan menghitung persentase murid yang memberikan email:
SELECT
COUNT(*) AS total_students,
COUNT(email) AS students_with_email,
(COUNT(email) * 100.0 / COUNT(*)) AS email_percentage
FROM students;
Query ini tidak hanya menghitung total murid dan yang memiliki email, tetapi juga menghitung persentase murid yang memberikan email. Itu seperti mengambil kehadiran dan menentukan siapa saja yang melakukan tugasnya!
IS NOT NULL dengan Statement DELETE
kadang-kadang, kita perlu membersihkan database kita dengan menghapus baris yang kehilangan data. Itu adalah saat IS NOT NULL berguna dengan statement DELETE.
DELETE Dasar dengan IS NOT NULL
Berikut adalah cara menghapus semua baris di mana kolom tertentu adalah NULL:
DELETE FROM students
WHERE phone_number IS NULL;
Query ini akan menghapus semua catatan murid di mana nomor telepon tidak diberikan. Itu seperti menghapus semua baris kosong dalam buku alamat Anda.
Kombinasi Kondisi
Kita juga dapat menggabungkan IS NOT NULL dengan kondisi lain:
DELETE FROM students
WHERE graduation_year IS NULL
AND enrollment_date < '2020-01-01';
Query ini menghapus catatan murid yang tidak memiliki tahun lulus dan yang mendaftar sebelum 2020. Itu adalah cara untuk membersihkan catatan lama dan tidak lengkap.
IS NOT NULL dengan Statement UPDATE
Akhirnya, mari kita lihat bagaimana IS NOT NULL dapat digunakan dengan statement UPDATE untuk memodifikasi data yang sudah ada.
Memperbarui Nilai Non-NULL
Misalnya, kita ingin memperbarui semua alamat email yang bukan NULL agar menjadi huruf kecil:
UPDATE students
SET email = LOWER(email)
WHERE email IS NOT NULL;
Query ini mengubah semua alamat email menjadi huruf kecil, tapi hanya jika mereka bukan NULL. Itu seperti mengubah semua alamat email di daftar kontak Anda agar memiliki format konsisten.
Pembaruan Kondisional
Kita juga dapat menggunakan IS NOT NULL dalam statement UPDATE yang lebih kompleks:
UPDATE students
SET status = 'Active'
WHERE enrollment_date IS NOT NULL
AND graduation_date IS NULL;
Query ini mengubah status menjadi 'Active' untuk semua murid yang memiliki tanggal pendaftaran tetapi belum memiliki tanggal lulus. Itu adalah cara untuk secara otomatis memperbarui status murid berdasarkan informasi yang kita miliki.
Kesimpulan
Dan begitu saja, teman-teman! Kita telah berpergian melalui dunia IS NOT NULL, mengembangkan penggunaannya dalam SELECT, COUNT, DELETE, dan UPDATE statements. Ingat, menangani nilai NULL dengan benar adalah sangat penting dalam manajemen database. Itu adalah perbedaan antara mendapatkan hasil yang akurat dan... well, NULL hasil!
Berikut adalah tabel rujukan cepat metode yang kita pelajari:
Operasi | Contoh |
---|---|
SELECT | SELECT * FROM table WHERE column IS NOT NULL |
COUNT | SELECT COUNT(column) FROM table |
DELETE | DELETE FROM table WHERE column IS NULL |
UPDATE | UPDATE table SET column = value WHERE other_column IS NOT NULL |
Latihkan query ini, mainkan dengannya, dan segera Anda akan menemukan bahwa menangani nilai NULL adalah hal yang biasa. Tetap coding, tetap belajar, dan ingat – di dunia database, kadang-kadang nothing (NULL) bisa berarti segala sesuatu!
Credits: Image by storyset