如何编写SQL查询同一字段下有值及值为NULL的所有记录
SQL查询实现方法
要实现同时返回指定字段为某具体值、以及该字段为NULL的所有记录,直接在WHERE条件中用OR关联两个匹配规则即可,注意空值判断需要使用专用的IS NULL语法,不能用普通等值判断。
通用查询模板
SELECT * FROM 你的实际表名 WHERE 要查询的字段名 = '你设定的具体匹配值' OR 要查询的字段名 IS NULL;
实际使用示例
假设你需要查询orders表中delivery_area字段值为北京市朝阳区,以及该字段为NULL的所有订单记录,写法如下:
SELECT * FROM orders WHERE delivery_area = '北京市朝阳区' OR delivery_area IS NULL;
注意事项
- 禁止写成
字段名 = NULL的形式:SQL中NULL和任意值做相等/不等判断的结果都为UNKNOWN,无法匹配到空值记录,必须使用IS NULL/IS NOT NULL做空值判断 - 该语句会自动过滤掉字段值为其他非目标值的非空记录,完全符合查询需求
内容的提问来源于stack exchange,提问作者afrocode
相关产品推荐
相关产品推荐

