SQL - NULL Values: Understanding the Unknown (ID)
Halo teman-teman, para ahli basis data masa depan! Hari ini, kita akan mendalami aspek menarik dalam SQL yang sering membuat pemula bingung - nilai NULL. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya; saya akan mengarahkan Anda melalui konsep ini langkah demi langkah, sama seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita memulai petualangan SQL ini bersama!
Apa Itu Nilai NULL?
Sebelum kita masuk ke detailnya, mari kita pahami apa arti NULL dalam SQL. Bayangkan Anda mengisi formulir, dan ada kolom yang meminta nama tengah Anda. Tetapi apa jika Anda tidak punya nama tengah? Anda tidak bisa menulis "tidak punya nama tengah" karena itu tidak akurat - Anda tidak mengatakan Anda punya nama tengah "tidak punya nama tengah". Anda hanya meninggalkannya kosong. Kosong itu, teman-teman, adalah esensial apa yang NULL mewakili dalam SQL.
Dalam SQL, NULL adalah penanda khusus yang digunakan untuk menunjukkan bahwa nilai data tidak ada dalam basis data. Itu bukan nol, bukan string kosong, itu adalah keabsenan nilai manapun. Bayangkan itu sebagai cara SQL mengatakan, "Saya tidak tahu" atau "Informasi ini tidak tersedia."
Membuat Tabel Tanpa Nilai NULL
Sekarang kita mengerti apa itu NULL, mari kita lihat bagaimana kita dapat membuat tabel yang tidak mengijinkan nilai NULL. Ini sangat berguna saat Anda memiliki data yang Anda benar-benar butuhkan untuk setiap rekord.
Contoh 1: Membuat Tabel Murid
CREATE TABLE Students (
StudentID INT NOT NULL,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Age INT NOT NULL,
Email VARCHAR(100)
);
Dalam contoh ini, kita membuat tabel "Students". Mari kitauraikan apa yang terjadi:
-
StudentID
,FirstName
,LastName
, danAge
semua dideklarasikan sebagaiNOT NULL
. Ini berarti kolom ini harus memiliki nilai; mereka tidak boleh ditinggalkan kosong. - Kolom
Email
tidak memilikiNOT NULL
, yang berarti itu baik jika seorang murid tidak menyediakan alamat email.
Dengan menggunakan NOT NULL
, kita memberitahu basis data kita, "Hai, kita pasti butuh informasi ini untuk setiap murid. Tak ada Excuse!"
Memperbarui Nilai NULL di Tabel
kadang-kadang, Anda mungkin menemukan nilai NULL di tabel Anda yang Anda ingin perbarui. Mari kita lihat bagaimana kita dapat melakukannya.
Contoh 2: Memperbarui Alamat Email NULL
Bayangkan kita menyadari bahwa kita butuh alamat email untuk semua murid, dan kita ingin memperbarui yang saat ini NULL.
UPDATE Students
SET Email = '[email protected]'
WHERE Email IS NULL;
Query ini melakukan hal berikut:
- Itu memandang tabel
Students
. - Untuk setiap rekord di mana
Email IS NULL
(ingat, kita tidak bisa menggunakan= NULL
!), itu mengatur email ke '[email protected]'.
Ini seperti mengatakan, "Untuk setiap murid yang belum memberikan kami email, mari kita gunakan alamat email pengganti ini untuk saat ini."
Menghapus Rekord dengan Nilai NULL
kadang-kadang, Anda mungkin ingin menghapus rekord yang memiliki nilai NULL di kolom tertentu. Mari kita lihat bagaimana kita dapat melakukannya.
Contoh 3: Menghapus Murid tanpa Informasi Umur
DELETE FROM Students
WHERE Age IS NULL;
Query ini akan menghapus semua rekord murid di mana kolom Umur adalah NULL. Itu seperti mengatakan, "Jika kita tidak tahu umur seorang murid, mari kita hapus rekord mereka dari basis data kita."
Hati-hati dengan operasi seperti ini! Pastikan Anda benar-benar ingin menghapus rekord ini sebelum menjalankan query tersebut.
Bekerja dengan NULL dalam Klause WHERE
Salah satu hal yang sulit tentang nilai NULL adalah Anda tidak bisa menggunakan operator perbandingan biasa dengan mereka. Mari kita lihat bagaimana memeriksa nilai NULL dalam klause WHERE.
Contoh 4: Menemukan Murid dengan Alamat Email Hilang
SELECT FirstName, LastName
FROM Students
WHERE Email IS NULL;
Query ini akan memberikan kita daftar semua murid yang belum memberikan alamat email. Perhatikan bahwa kita menggunakan IS NULL
bukan = NULL
. Ini adalah kesalahan umum yang kadang-kadang bahkan para pemrogram berpengalamanbuat!
NULL dan Fungsi Agregat
Nilai NULL juga dapat mempengaruhi bagaimana fungsi agregat bekerja. Mari kita lihat contoh.
Contoh 5: Menghitung Umur Rata-Rata
SELECT AVG(Age) AS AverageAge
FROM Students;
Query ini menghitung umur rata-rata semua murid. Bagian menariknya adalah: nilai NULL sepenuhnya diabaikan dalam perhitungan ini. Jadi jika Anda memiliki 10 murid, tapi hanya 8 yang umurnya terisi, rerata akan dihitung berdasarkan 8 nilai itu.
Kesimpulan
Dan begitu, teman-teman! Kita telah melakukan perjalanan melalui dunia nilai NULL dalam SQL. Kita telah melihat bagaimana membuat tabel yang tidak mengijinkan NULL, bagaimana memperbarui dan menghapus rekord dengan nilai NULL, dan bagaimana bekerja dengan NULL dalam query kita.
Ingat, NULL bukan nol, bukan string kosong, itu adalah keabsenan nilai. Itu adalah cara SQL untuk mengatakan, "Saya tidak tahu." Dan sekarang, Anda tahu bagaimana menangani situasi "Saya tidak tahu" ini seperti seorang pro!
Terus latihan dengan konsep ini, dan sebelum Anda sadari, Anda akan dapat menavigasi dunia basis data dengan kepercayaan. Selamat mencari query!
Credits: Image by storyset