SQL - IS NOT NULL: Panduan Pemula

Hai, para ahli SQL masa depan! Hari ini, kita akan mendalami aspek menarik di SQL yang saya lihat membuat banyak murid kesulitan selama tahun. Tetapi jangan khawatir – pada akhir panduan ini, Anda akan menangani nilai NULL seperti seorang ahli!

SQL - IS NOT NULL

Operator SQL IS NOT NULL

Mari kita mulai dari dasar. Dalam SQL, NULL adalah nilai khusus (atau sebaliknya, kekurangan nilai) yang mewakili informasi yang hilang atau tak diketahui. Itu seperti saat Anda mengisi formulir dan meninggalkan field kosong – itu adalah esensi apa artinya NULL dalam database.

Sekarang, mari kita lihat bagaimana hal ini menjadi sulit: Anda tidak dapat menggunakan operator perbandingan biasa seperti = atau != dengan NULL. Itu di mana pahlawan 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;

Mari kitauraikan ini dengan contoh dunia 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 bertanya-tanya, "Mengapa kami tidak bisa menggunakan email != NULL?" Pertanyaan bagus! Dalam SQL, NULL mewakili nilai yang tak diketahui. Karena itu tak diketahui, kita tidak dapat membandingkannya dengan apa pun – bahkan tidak dengan dirinya sendiri! Itu seperti mencoba membandingkan apel dengan... well, nihil.

Mari kita 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 dalam tabel Anda. Query kedua akan mengembalikan semua baris di mana email memiliki nilai.

IS NOT NULL dengan Fungsi COUNT()

Sekarang kita mengerti dasar-dasar, mari kita 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 betingkat 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 yang melaksanakan tugasnya!

IS NOT NULL dengan Statement DELETE

kadang-kadang, kita perlu membersihkan database kita dengan menghapus baris yang kekurangan data. Itu di mana IS NOT NULL berguna dengan statement DELETE.

Basic DELETE dengan IS NOT NULL

Berikut adalah contoh 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.

Menggabungkan 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毕业 dan yang mendaftar sebelum 2020. Itu adalah cara untuk membersihkan catatan tua 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 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 mengganggu daftar kontak Anda dan memastikan semua alamat email diformat konsisten.

Update 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 mengatur status menjadi 'Active' untuk semua murid yang memiliki tanggal mendaftar tapi belum memiliki tanggal毕业. Itu adalah cara untuk secara otomatis memperbarui status murid berdasarkan informasi yang kita miliki.

Kesimpulan

Dan di sana Anda punya nya, teman-teman! Kita telah berpergian melalui tanah IS NOT NULL, mengembangkan penggunaannya dalam SELECT, COUNT, DELETE, dan UPDATE statement. Ingat, menangani nilai NULL dengan benar sangat penting dalam manajemen database. Itu adalah perbedaan antara mendapatkan hasil yang akurat dan... well, NULL hasil!

Berikut adalah tabel rujukan cepat dari 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

Latih query ini, mainkan dengannya, dan segera Anda akan menemukan bahwa menangani nilai NULL adalah hal yang alami. Terus coding, terus belajar, dan ingat – di dunia database, kadang-kadang nihil (NULL) bisa berarti segala sesuatu!

Credits: Image by storyset