Rumah > pangkalan data > tutorial mysql > Apakah Perbezaan Antara Operator `IS NULL` dan `= NULL` SQL?

Apakah Perbezaan Antara Operator `IS NULL` dan `= NULL` SQL?

Linda Hamilton
Lepaskan: 2025-01-11 20:21:44
asal
511 orang telah melayarinya

What's the Difference Between SQL's `IS NULL` and `= NULL` Operators?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan