為什麼我們不能對錶中的 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 不是一個值。

更新於: 2020 年 2 月 6 日

52 次瀏覽

啟動您的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.