在查询中过滤 NULL
在 WHERE
块中过滤 NULL
(即没有值)的语法与对特定值的过滤略有不同。
SELECT * FROM Employees WHERE ManagerId IS NULL ;
SELECT * FROM Employees WHERE ManagerId IS NOT NULL ;
请注意,因为 NULL
不等于任何东西,甚至不等于它自己,使用相等运算符 = NULL
或 <> NULL
(或 != NULL
)将始终产生 UNKNOWN
的真值,WHERE
将拒绝该真值。
WHERE
过滤条件为 FALSE
或 UKNOWN
的所有行,并仅保留条件为 TRUE
的行。