6.3 空值查詢
在使用SQL語句執行查詢操作時,還有一種是空值查詢。在數據表中,如果一個表的行屬性中不存在任何值的時候,也就是說該表的行屬性中沒有任何數據記錄。那么就將其稱之為空值。在SQL的查詢中,NULL可以用來表示空值的含義。在SQL語句中,可以使用IS NULL或者IS NOT NULL關鍵字來判斷空值。
例6.12 查詢教師信息表中教師津貼為空的教師信息。
SELECT teaID ,teaName , profession,salary,pension FROM T_teacher WHERE pension IS NULL
這段SQL語句是查詢教師信息表中教師津貼為空的教師信息。在WHERE子句中使用IS NULL關鍵字作為限定條件,用來表示教師津貼的字段pension所在列的值為空。其查詢的結果如圖6.10所示。

圖6.10 查詢教師信息表中教師津貼為空的教師信息
從上面的查詢結果可以看到,查詢出來的教師記錄中其表示津貼的列pension的值都為NULL。如果想要查詢教師津貼不為空的教師記錄,可以使用IS NOT NULL關鍵字。例如對于例6.12,如果想要查詢教師信息表中教師津貼不為空的教師信息,可以使用下面的SQL語句完成。
SELECT teaID,teaName,profession,salary,pension FROM T_teacher WHERE pension IS NOT NULL
這段SQL語句是查詢教師信息表中教師津貼不為空的教師信息。在WHERE子句中使用IS NOT NULL關鍵字作為限定條件,用來限定表示教師津貼的字段pension所在列的值不為空。其查詢的結果如圖6.11所示。

圖6.11 查詢教師信息表中教師津貼不為空的教師信息
從上面的查詢結果可以看到,在教師信息表中凡是教師津貼不為空的教師信息全部都被檢索了出來。
注意 當使用NULL查詢數據表中的記錄是否為空值時,不能使用比較運算符,只能使用IS NULL或者IS NOT NULL。使用比較運算符對NULL值進行比較時,其查詢條件返回的結果始終是FALSE。也就是說,使用比較運算符對NULL值進行比較,不會檢索出任何結果。