Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เหตุใดเราจึงใช้ตัวดำเนินการเปรียบเทียบ (=) เพื่อรับแถวที่มีค่า NULL จากตารางไม่ได้


เราไม่สามารถใช้ =(ตัวดำเนินการเปรียบเทียบ) เพราะเรารู้ว่า NULL ไม่ใช่ค่า หากเราต้องการรับแถวที่มีค่า NULL จากตาราง เราจำเป็นต้องใช้ตัวดำเนินการ IS NULL ในการสืบค้น MySQL ตัวอย่างต่อไปนี้โดยใช้ข้อมูลจากตาราง 'พนักงาน' จะแสดงให้เห็น -

ตัวอย่าง

mysql> Select * from Employee WHERE Salary IS NULL;

+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+

2 rows in set (0.00 sec)

แบบสอบถามด้านบนใช้ตัวดำเนินการ IS NULL และสร้างผลลัพธ์โดยที่คอลัมน์เงินเดือนมีค่า NULL

mysql> Select * from employee where salary = NULL;
Empty set (0.00 sec)

แบบสอบถามด้านบนใช้ =(ตัวดำเนินการเปรียบเทียบ) ดังนั้นจึงสร้างชุดว่างเพราะค่า NULL ไม่ใช่ค่า