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
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!