# SQL 的 NULL 值会如何影响筛选和比较？

Canonical URL: https://help.iagenify.com/zh/faqs/databases/sql-null

[← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)

帮助中心 · 常见问题 数据库 1 分钟阅读
# SQL 的 NULL 值会如何影响筛选和比较？
在 SQL 中，NULL 表示未知或缺失值，因此普通的相等比较无法匹配它。请使用 IS NULL 或 IS NOT NULL 检查，并明确决定缺失值应如何影响结果。
IaGenify
数据库

## 使用正确的判断条件
像 column = NULL 这样的条件并不会进行普通的真值比较。SQL 使用三值逻辑，涉及 NULL 的比较结果为未知，通常会被 WHERE 子句排除。
使用 IS NULL 查找字段缺失的行，使用 IS NOT NULL 查找字段有值的行。如果参数可能为 NULL，请有意识地构造条件，不要指望相等判断自动覆盖两种情况。
## 明确缺失数据的处理规则
请决定缺失值应排除、替换为默认值，还是单独报告。COALESCE 可以为显示或计算提供回退值，但该默认值必须符合字段含义。
测试包含 NULL、空字符串和普通值的筛选；这些情况不能互换。还要检查聚合函数，因为许多 SQL 聚合会忽略 NULL，从而影响计数或平均值。 [← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)
