MySQL IS NULL & IS NOT NULL Tutorial dengan CONTOH

Daftar Isi:

Anonim

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

Nihil sebagai Nilai

Sederhananya, NULL hanyalah placeholder untuk data yang tidak ada. Saat melakukan operasi penyisipan pada tabel, itu akan menjadi saat beberapa nilai bidang tidak akan tersedia.

Untuk memenuhi persyaratan sistem manajemen database relasional yang sebenarnya, MySQL menggunakan NULL sebagai placeholder untuk nilai yang belum dikirimkan. Tangkapan layar di bawah ini menunjukkan bagaimana nilai NULL terlihat dalam database.

Sekarang mari kita lihat beberapa dasar untuk NULL sebelum kita melangkah lebih jauh ke dalam diskusi.

  • NULL bukan tipe data - ini berarti tidak dikenali sebagai "int", "date" atau tipe data lain yang ditentukan.
  • Operasi aritmatika yang melibatkan NULL selalu mengembalikan NULL misalnya, 69 + NULL = NULL.
  • Semua fungsi agregat hanya memengaruhi 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 sebagai 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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
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

Mari hitung semua anggota yang telah memperbarui nomor_kontak mereka

SELECT COUNT(contact_number) FROM `members`;

Mengeksekusi kueri di atas 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 false jika kondisi yang diuji benar

Kondisi

BUKAN Hasil Operator

Benar

Salah

Salah

Benar

Mengapa menggunakan NOT null?

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

NOT NULL Values

Misalkan kita ingin membuat tabel dengan bidang tertentu yang harus selalu diberi nilai saat memasukkan baris baru ke dalam tabel. Kita dapat menggunakan klausa NOT NULL pada bidang tertentu saat membuat tabel.

Contoh yang ditunjukkan 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 record baru tanpa menentukan nama karyawan dan lihat apa yang terjadi.

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

Menjalankan skrip di atas di meja kerja MySQL memberikan kesalahan berikut -

Kata Kunci NULL

NULL juga dapat digunakan sebagai kata kunci saat 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

  • "IS NULL" adalah kata kunci yang melakukan perbandingan Boolean. Ini mengembalikan true jika nilai yang diberikan adalah NULL dan false jika nilai yang diberikan bukan NULL.
  • "NOT NULL" adalah kata kunci yang melakukan perbandingan Boolean. Ini mengembalikan true jika nilai yang diberikan bukan NULL dan false jika nilai yang diberikan adalah null.

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 membutuhkan detail anggota yang nomor kontaknya bukan null. Kami dapat mengeksekusi kueri seperti

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 record anggota dimana nomor kontaknya null. Kita bisa menggunakan query berikut

SELECT * FROM `members` WHERE contact_number IS NULL;

Mengeksekusi kueri di atas memberikan detail anggota yang nomor kontaknya adalah 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 This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
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 s

Logika tiga nilai - melakukan operasi Boolean pada kondisi yang melibatkan NULL dapat menghasilkan "Unknown", "True", atau "False".

Misalnya, menggunakan kata kunci "IS NULL" saat melakukan operasi perbandingan yang melibatkan NULL dapat menghasilkan true atau false . Menggunakan operator perbandingan lain mengembalikan "Tidak Diketahui" (NULL).

Misalkan Anda membandingkan angka lima dengan 5

SELECT 5 =5;

Hasil query 1 yang artinya BENAR

 
5 =5
1

Mari lakukan operasi yang sama dengan NULL

SELECT NULL = NULL;
 
NULL = NULL
NULL

Mari kita lihat contoh lainnya

SELECT 5 > 5;
 
5> 5
0

Hasil query 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 queri adalah 0 yang FALSE

SELECT NULL IS NULL;
 
NULL IS NULL
1

Hasil kueri adalah 1 yang BENAR

Ringkasan

  • NULL adalah placeholder nilai untuk bidang tabel opsional.
  • MySQL memperlakukan nilai NULL secara berbeda dari tipe data lainnya. Nilai NULL saat digunakan dalam kondisi mengevaluasi ke nilai Boolean palsu.
  • Operasi logika NOT digunakan untuk menguji nilai Boolean dan mengevaluasi ke true jika nilai Boolean salah dan salah jika nilai Boolean benar.
  • Klausa NOT NULL digunakan untuk menghilangkan nilai NULL dari set hasil
  • Melakukan operasi aritmatika pada nilai NULL selalu mengembalikan hasil NULL.
  • Operator perbandingan seperti [, =, etc.] tidak dapat digunakan untuk membandingkan nilai NULL.