在 SQL 中,ISNULL()
函数用于检查一个表达式是否为 NULL
以下是使用 ISNULL()
函数进行条件筛选的示例:
- 假设我们有一个名为
employees
的表,其中包含以下列:id
,name
,salary
和manager_id
。我们想要查询所有没有经理的员工(即manager_id
为 NULL 的员工):
SELECT * FROM employees WHERE ISNULL(manager_id);
- 如果我们想要查询所有月薪低于 5000 或者没有月薪信息(即
salary
为 NULL)的员工,可以这样写:
SELECT * FROM employees WHERE salary < 5000 OR ISNULL(salary);
- 如果我们想要查询所有没有经理且月薪高于 6000 的员工,可以这样写:
SELECT * FROM employees WHERE ISNULL(manager_id) AND salary > 6000;
请注意,ISNULL()
函数只能用于检查单个表达式是否为 NULL。如果需要检查多个表达式,可以使用 COALESCE()
函数。COALESCE()
函数返回第一个非 NULL 参数,如果所有参数都为 NULL,则返回 NULL。例如:
SELECT * FROM employees WHERE COALESCE(manager_id, salary) IS NULL;
这将返回 manager_id
和 salary
都为 NULL 的员工。