MySQL IS NULL & BUKAN NULL Tutorial dengan CONTOH

Dalam SQL Null adalah nilai sekaligus kata kunci. Mari kita lihat nilai NULL terlebih dahulu –

MySQL ADALAH NULL & BUKAN NULL

Null sebagai Nilai

Secara sederhana, NULL hanyalah sebuah tempat untuk data yang tidak ada. Saat melakukan operasi penyisipan pada tabel, ada saatnya beberapa nilai bidang tidak tersedia.

Untuk memenuhi persyaratan sistem manajemen basis data relasional yang sebenarnya, MySQL menggunakan NULL sebagai pengganti nilai yang belum dikirimkan. Tangkapan layar di bawah menunjukkan tampilan nilai NULL di database.

Null sebagai Nilai

Sekarang mari kita lihat beberapa dasar-dasar NULL sebelum kita melanjutkan diskusi lebih jauh.

  • NULL bukan tipe data – ini berarti tidak dikenali sebagai “int”, “tanggal” atau tipe data lain yang ditentukan.
  • Operasi aritmatika melibatkan NULL selalu kembalikan BATAL misalnya 69 + NULL = NULL.
  • Semua fungsi agregat hanya mempengaruhi baris yang tidak memiliki nilai NULL.

Sekarang mari kita tunjukkan bagaimana fungsi count memperlakukan nilai null. Mari kita lihat isi tabel anggota saat ini-

SELECT * FROM `members`;

Menjalankan skrip di atas memberi kita hasil berikut

membership_ number full_ names gender date_of_ birth physical_ address postal_ address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter MaleNULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Mari kita hitung semua anggota yang telah memperbarui nomor_kontaknya

SELECT COUNT(contact_number)  FROM `members`;

Menjalankan kueri di atas akan memberi kita hasil sebagai berikut.

COUNT(contact_number)
7

Catatan: Nilai yang NULL belum disertakan

Apa yang tidak?

Operator logika NOT digunakan untuk menguji kondisi Boolean dan mengembalikan nilai true jika kondisinya salah. Operator NOT mengembalikan nilai salah jika kondisi yang diuji benar

Kondisi JANGAN Operauntuk Hasil
Benar Salah
Salah Benar

Mengapa menggunakan NOT null?

Akan ada kasus ketika kita harus melakukan perhitungan pada kumpulan hasil kueri dan mengembalikan nilainya. Melakukan operasi aritmatika apa pun pada kolom yang memiliki nilai NULL akan mengembalikan hasil nol. Untuk menghindari situasi seperti itu terjadi, kita dapat menggunakan klausa NOT NULL untuk membatasi hasil pengoperasian data kita.

BUKAN Nilai NULL

Misalkan kita ingin membuat tabel dengan field tertentu yang harus selalu diberikan nilai saat menyisipkan baris baru ke dalam tabel. Kita bisa menggunakan klausa NOT NULL pada field tertentu saat membuat tabel.

Contoh di bawah ini membuat tabel baru yang berisi data karyawan. Nomor karyawan harus selalu diberikan

CREATE TABLE `employees`(
  employee_number int NOT NULL,
  full_names varchar(255) ,
  gender varchar(6)
);

Sekarang mari kita coba memasukkan catatan baru tanpa menentukan nama karyawan dan lihat apa yang terjadi.

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

Menjalankan skrip di atas dalam MySQL workbench memberikan kesalahan berikut-

BUKAN Nilai NULL

Kata Kunci NULL

NULL juga dapat digunakan sebagai kata kunci ketika melakukan operasi Boolean pada nilai yang menyertakan NULL. Kata kunci “IS/NOT” digunakan bersama dengan kata NULL untuk tujuan tersebut. Sintaks dasar ketika null digunakan sebagai kata kunci adalah sebagai berikut

`comlumn_name'  IS NULL
`comlumn_name' NOT NULL

SINI

  • “ADALAH BATAL adalah kata kunci yang melakukan perbandingan Boolean. Ia mengembalikan nilai benar jika nilai yang diberikan adalah NULL dan salah jika nilai yang diberikan bukan NULL.
  • “BUKAN BATAL”adalah kata kunci yang melakukan perbandingan Boolean. Ia mengembalikan nilai benar jika nilai yang diberikan bukan NULL dan salah jika nilai yang diberikan adalah nol.

Sekarang mari kita lihat contoh praktis yang menggunakan kata kunci NOT NULL untuk menghilangkan semua nilai kolom yang memiliki nilai null.

Melanjutkan contoh di atas, misalkan kita memerlukan detail anggota yang nomor kontaknya tidak null. Kita dapat menjalankan query seperti ini

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

Menjalankan kueri di atas hanya memberikan catatan di mana nomor kontak bukan nol.

Misalkan kita ingin data anggota yang nomor kontaknya null. Kita dapat menggunakan query berikut

SELECT * FROM `members` WHERE contact_number IS NULL;

Menjalankan query di atas memberikan detail anggota yang nomor kontaknya NULL

membership_ number full_names gender date_of_birth physical_address postal_address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Membandingkan nilai nol

Logika tiga nilai – melakukan operasi Boolean pada kondisi yang melibatkan NULL dapat kembali “Tidak Diketahui”, “Benar” atau “Salah”.

Sebagai contoh, menggunakan kata kunci “IS NULL”. saat melakukan operasi perbandingan melibatkan NULL bisa kembali benar or palsu. Menggunakan pengembalian operator perbandingan lainnya “Tidak Diketahui” (BATAL).

Misalkan Anda membandingkan angka lima dengan 5

SELECT 5 =5;

Hasil querynya adalah 1 yang artinya BENAR

5 =5
1

Mari lakukan operasi yang sama dengan NULL

SELECT NULL = NULL;
NULL = NULL
NULL

Mari kita lihat contoh lain

SELECT 5 > 5;
5 > 5
0

Hasil querynya adalah 0 yang artinya SALAH

Mari kita lihat contoh yang sama menggunakan NULL

SELECT NULL > NULL;
NULL > NULL
NULL

Mari kita gunakan kata kunci IS NULL

SELECT 5 IS NULL;
5 IS NULL
0

Hasil query adalah 0 yang FALSE

SELECT NULL IS NULL;

NULL IS NULL
1

Hasil querynya adalah 1 yang BENAR

Kesimpulan

  • NULL adalah tempat nilai untuk bidang tabel opsional.
  • MySQL memperlakukan nilai NULL secara berbeda dari tipe data lainnya. Nilai NULL ketika digunakan dalam suatu kondisi dievaluasi menjadi nilai Boolean palsu.
  • Operasi logika NOT digunakan untuk menguji nilai Boolean dan mengevaluasi menjadi benar jika nilai Boolean salah dan salah jika nilai Boolean benar.
  • Klausa NOT NULL digunakan untuk menghilangkan nilai NULL dari kumpulan hasil
  • Melakukan operasi aritmatika pada nilai NULL selalu mengembalikan hasil NULL.
  • Operator perbandingan seperti [, =, dll.] tidak dapat digunakan untuk membandingkan nilai NULL.