為什麼我們不能使用比較運算子(=)來獲取表中帶 NULL 的行?


我們無法使用 =(比較運算子),因為我們知道 NULL 不是一個值。如果我們要獲取表中帶 NULL 的行,那麼需要在 MySQL 查詢中使用 IS NULL 運算子。以下使用“employee”表資料的示例會展示它 −

示例

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 運算子,會生成輸出,其中 salary 列帶有 NULL。

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

上面的查詢使用 =(比較運算子),因此會生成空集,因為 NULL 不是一個值。

更新於: 06-Feb-2020

52 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.