MySQL - IS NOT NULL Operator

Hai there, penggemar basis data yang bersemangat! Hari ini, kita akan melihat dunia yang menakjubkan MySQL dan mengenal operator kecil yang sangat berguna yakni IS NOT NULL. Jangan khawatir jika Anda baru belajar pemrograman; saya akan memandu Anda dalam perjalanan ini langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita mulai!

MySQL - IS NOT NULL Operator

Operator MySQL IS NOT NULL

Bayangkan Anda mengatur pesta ulang tahun, dan Anda membuat daftar tamu. Beberapa tamu telah mengkonfirmasi bahwa mereka akan datang, beberapa mengatakan bahwa mereka tidak bisa hadir, dan yang lainnya belum menjawab. Dalam dunia basis data, kita mungkin mewakili situasi ini dengan tiga nilai: 'Yes', 'No', dan NULL (untuk mereka yang belum menjawab). Operator IS NOT NULL membantu kita menemukan semua tamu yang telah memberikan tanggapan, baik itu 'Yes' atau 'No'.

Dalam MySQL, NULL mewakili nilai yang hilang atau tak diketahui. Ini bukanlah hal yang sama seperti string kosong atau nol; ini adalah keabsenya nilai apapun. Operator IS NOT NULL memungkinkan kita menemukan baris di mana kolom tertentu memiliki nilai (nilai apapun) bukan NULL.

mari kita lihat contoh sederhana:

SELECT * FROM guests WHERE response IS NOT NULL;

Kueri ini akan mengembalikan semua tamu yang telah memberikan tanggapan, baik mereka datang ke pesta atau tidak.

Sekarang, mari kita buat tabel dan lihat ini dalam tindakan:

CREATE TABLE guests (
id INT PRIMARY KEY,
name VARCHAR(50),
response VARCHAR(3)
);

INSERT INTO guests VALUES
(1, 'Alice', 'Yes'),
(2, 'Bob', 'No'),
(3, 'Charlie', NULL),
(4, 'David', 'Yes'),
(5, 'Eve', NULL);

SELECT * FROM guests WHERE response IS NOT NULL;

Kueri ini akan mengembalikan:

id name response
1 Alice Yes
2 Bob No
4 David Yes

Seperti yang Anda lihat, Charlie dan Eve, yang belum menjawab (NULL), tidak termasuk dalam hasil.

IS NOT NULL dengan fungsi COUNT()

Sekarang, mari kita katakan Anda ingin mengetahui berapa banyak tamu yang benar-benar menjawab. Kita dapat menggunakan fungsi COUNT() bersamaan dengan IS NOT NULL untuk mendapatkan informasi ini:

SELECT COUNT(*) AS responded_guests
FROM guests
WHERE response IS NOT NULL;

Kueri ini akan mengembalikan:

responded_guests
3

Ini memberitahu kita bahwa 3 tamu telah menjawab undangan kita. Sangat menarik, kan?

IS NOT NULL dengan pernyataan UPDATE

kadang-kadang, kita mungkin ingin memperbarui basis data kita berdasarkan nilai NULL atau tidak. Misalnya, mari kita katakan kita ingin mengubah semua tanggapan NULL menjadi 'Maybe':

UPDATE guests
SET response = 'Maybe'
WHERE response IS NULL;

SELECT * FROM guests;

Setelah pembaruan ini, tabel tamu kita akan terlihat seperti ini:

id name response
1 Alice Yes
2 Bob No
3 Charlie Maybe
4 David Yes
5 Eve Maybe

IS NOT NULL dengan pernyataan DELETE

Dalam beberapa kasus, kita mungkin ingin menghapus baris dengan nilai NULL. Misalnya, jika kita memutuskan untuk hanya menjaga tamu yang memberikan tanggapan pasti:

DELETE FROM guests
WHERE response IS NULL;

SELECT * FROM guests;

Jika kita menjalankan ini sebelum pernyataan UPDATE sebelumnya, itu akan menghapus Charlie dan Eve dari daftar tamu kita:

id name response
1 Alice Yes
2 Bob No
4 David Yes

Operator IS NOT NULL menggunakan Program Klien

Sekarang, mari kita bicarakan bagaimana Anda mungkin menggunakan operator IS NOT NULL dalam situasi dunia nyata menggunakan program klien. Bayangkan Anda menulis skrip Python untuk mengelola daftar tamu Anda:

import mysql.connector

# Terhubung ke basis data
db = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="party_planner"
)

cursor = db.cursor()

# Dapatkan semua tamu yang telah menjawab
cursor.execute("SELECT * FROM guests WHERE response IS NOT NULL")
responded_guests = cursor.fetchall()

print("Tamу yang telah menjawab:")
for guest in responded_guests:
print(f"- {guest[1]}: {guest[2]}")

# Hitung tamu yang belum menjawab
cursor.execute("SELECT COUNT(*) FROM guests WHERE response IS NULL")
no_response_count = cursor.fetchone()[0]

print(f"\nJumlah tamu yang belum menjawab: {no_response_count}")

# Tutup koneksi
db.close()

Skrip ini terhubung ke basis data Anda, mengambil semua tamu yang telah menjawab, mencetak nama dan tanggapan mereka, dan kemudian menghitung berapa banyak tamu yang belum menjawab.

Dan itu saja! Kita telah mengenal operator IS NOT NULL dari berbagai sudut pandang. Ingat, dalam dunia basis data, mengetahui apa yang Anda tak tahu (nilai NULL) dapat sama pentingnya dengan mengetahui apa yang Anda tahu. Operator IS NOT NULL adalah teman setia Anda dalam menavigasi terrain ini.

Saat kita mengakhiri, saya teringat murid yang pernah mengatakan kepadaku bahwa memahami nilai NULL adalah seperti akhirnya melihat 'tinta tak terlihat' dalam basis data. Saya harap tutorial ini telah membantu Anda mengembangkan 'visi NULL' Anda sendiri! Tetap latih, tetap bersemangat, dan selamat coding!

Credits: Image by storyset