在 SQL 中,判断值是否存在是一个常见的操作。以下是一些常用的 :
使用 EXISTS 子查询
EXISTS 子查询是一种判断子查询是否返回任何结果的 。如果子查询返回任何结果,则 EXISTS 为 true,否则为 false。
sql
SELECT
CASE
WHEN EXISTS(SELECT 1 FROM table_name WHERE column_name = 'value')
THEN TRUE
ELSE FALSE
END
FROM
dual;
使用 COUNT(*) 函数
COUNT(*) 函数返回表中满足指定条件的行数。如果行数大于 0,则值存在。
sql
SELECT
CASE
WHEN COUNT(*) > 0
THEN TRUE
ELSE FALSE
END
FROM
table_name
WHERE
column_name = 'value';
使用 IS NULL 和 IS NOT NULL 运算符
IS NULL 运算符检查值是否为 NULL。IS NOT NULL 运算符检查值是否不为 NULL。
sql
SELECT
CASE
WHEN column_name IS NULL
THEN FALSE
ELSE TRUE
END
FROM
table_name;
使用 COALESCE 函数
COALESCE 函数返回第一个非 NULL 值。如果第一个值不为 NULL,则 COALESCE 返回第一个值。否则,COALESCE 返回指定的默认值。
sql
SELECT
COALESCE(column_name, 'default_value')
FROM
table_name;