在 SQL 查询中,NULL 值会对结果产生影响。如果要过滤掉 NULL 行,可以使用以下 :
使用 IS NULL 和 IS NOT NULL
最直接的 是使用 IS NULL 和 IS NOT NULL 运算符。IS NULL 检查字段是否为 NULL,而 IS NOT NULL 检查字段是否不为 NULL。例如:
sql
SELECT *
FROM table_name
WHERE field_name IS NULL;
SELECT *
FROM table_name
WHERE field_name IS NOT NULL;
使用 COALESCE 函数
COALESCE 函数可以将 NULL 值替换为指定的值。例如,以下查询将 NULL 值替换为空字符串:
sql
SELECT COALESCE(field_name, '')
FROM table_name;
使用 CASE 语句
CASE 语句还可以用于处理 NULL 值。例如,以下查询根据 field_name 字段的值返回不同的结果:
sql
SELECT
CASE
WHEN field_name IS NULL THEN 'NULL'
ELSE field_name
END
FROM table_name;
使用 NOT IN 子查询
NOT IN 子查询可以过滤掉包含 NULL 值的行。例如,以下查询过滤掉 field_name 字段包含 NULL 值的行:
sql
SELECT *
FROM table_name
WHERE field_name NOT IN (SELECT field_name FROM table_name WHERE field_name IS NULL);
避免使用 NULL
为了提高查询性能和数据完整性,最好避免使用 NULL 值。如果可能,应将 NULL 值替换为有效值或使用默认值。