在查询中过滤 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 过滤条件为 FALSEUKNOWN 的所有行,并仅保留条件为 TRUE 的行。