Rumah >pangkalan data >tutorial mysql >Apakah Perbezaan Antara '=' dan 'IS NULL' dalam Pertanyaan SQL?

Apakah Perbezaan Antara '=' dan 'IS NULL' dalam Pertanyaan SQL?

Susan Sarandon
Susan Sarandonasal
2024-12-07 05:56:11734semak imbas

What's the Difference Between

Memahami Perbezaan Antara "=" dan "IS NULL" dalam SQL

Apabila membina pertanyaan SQL, adalah penting untuk memahami perbezaan antara memberikan nilai " null" menggunakan operator "=" dan membandingkan lajur kepada "NULL" menggunakan "IS NULL" operator.

Menetapkan Nilai Null dengan "="

Operator "="" boleh digunakan untuk menetapkan lajur kepada nilai null. Contohnya, yang berikut pertanyaan memberikan nilai nol kepada lajur "Umur" jadual "Orang":

UPDATE Persons SET Age = NULL
WHERE Name = 'John Doe';

Dalam kes ini, pengendali "=" digunakan untuk menetapkan lajur "Umur" untuk rekod di mana lajur "Nama" sama dengan "John Doe" dengan nol.

Membandingkan Lajur kepada NULL dengan "IS NULL"

Berbeza dengan tugasan, pengendali "IS NULL" digunakan dalam pertanyaan SQL untuk menentukan sama ada lajur mengandungi nilai nol Ia mengembalikan a nilai boolean, menunjukkan sama ada lajur adalah batal atau tidak Sebagai contoh, pertanyaan berikut memilih semua baris daripada jadual "Orang" di mana lajur "Umur" adalah batal:

SELECT *
FROM Persons
WHERE Age IS NULL;

Perhatikan bahawa menggunakan "Umur. = NULL" dalam klausa WHERE tidak sah dan akan sentiasa mengembalikan palsu kerana nilai nol tidak boleh dibandingkan secara langsung untuk kesamaan. Sebaliknya, pengendali "IS NULL" mesti digunakan untuk perbandingan sedemikian.

Perbezaan Utama

  • Operator "=" digunakan untuk menetapkan nilai nol kepada lajur, manakala "IS NULL" digunakan untuk membandingkan lajur dengan nol.
  • "Umur = NULL" bukan ungkapan yang sah dalam klausa WHERE, manakala "Umur IS NULL" adalah betul.
  • "IS NULL" mengembalikan nilai boolean, menunjukkan sama ada nilai yang dibandingkan adalah nol atau tidak, manakala "=" digunakan untuk tugasan.

Atas ialah kandungan terperinci Apakah Perbezaan Antara '=' dan 'IS NULL' dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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