Pemahaman mendalam tentang pengendali IS NULL
dan = NULL
dalam SQL
Pengendali IS NULL
dan = NULL
dalam SQL berkelakuan berbeza apabila berurusan dengan nilai NULL, yang sering mengelirukan pemula. Artikel ini menerangkan perbezaan utama antara mereka secara terperinci.
= NULL
Bertentangan dengan makna literal, = NULL
tidak kembali benar apabila nilai yang diperiksa adalah NULL. Ia beroperasi berdasarkan logik tiga nilai, di mana NULL mewakili nilai yang tidak diketahui. Dalam klausa WHERE
, = NULL
ditafsirkan sebagai palsu, menyebabkan baris yang sepadan dikecualikan daripada set hasil.
IS NULL
Sebaliknya, IS NULL
secara eksplisit menguji nilai NULL dan mengembalikan benar jika nilai yang diperiksa adalah NULL dan palsu sebaliknya. Tingkah laku ini konsisten dengan situasi sebenar di mana NULL mewakili nilai yang tidak diketahui atau hilang.
Bila hendak menggunakan pengendali yang mana
Sekarang anda memahami perbezaan ini, berikut ialah senario yang sesuai untuk menggunakan setiap operator:
= NULL
: Gunakan apabila anda perlu mengecualikan baris dengan nilai yang tidak diketahui daripada set hasil. Ini termasuk baris yang nilainya NULL atau mungkin NULL. IS NULL
: Gunakan operator ini untuk menyemak secara khusus sama ada nilai adalah NULL. Ia amat berguna apabila anda ingin mendapatkan semula baris yang secara eksplisit mengandungi nilai NULL. Contoh
Pertimbangkan jadual yang mengandungi data berikut:
ID | Name | Age |
---|---|---|
1 | John | 25 |
2 | Mary | NULL |
3 | Bob | 30 |
Pertanyaan 1:
<code class="language-sql">SELECT * FROM Table WHERE Age = NULL;</code>
Keputusan:
tidak mengembalikan baris kerana klausa WHERE
menganggap keadaan = NULL
sebagai palsu, dengan itu menghapuskan baris dengan nilai NULL.
Pertanyaan 2:
<code class="language-sql">SELECT * FROM Table WHERE Age IS NULL;</code>
Keputusan:
mengembalikan baris 2 (Mary) kerana klausa WHERE
menggunakan IS NULL
untuk menyemak nilai NULL sahaja.
Kesimpulan
Apabila menulis pertanyaan SQL, adalah penting untuk memahami perbezaan antara IS NULL
dan = NULL
. Memilih pengendali yang betul berdasarkan keperluan khusus anda memastikan hasil yang tepat dan bermakna.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Operator `IS NULL` dan `= NULL` SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!