EXISTS 运算符用于检查子查询结果中是否有记录。如果结果为空,则返回 0;否则返回 1。
EXISTS 也可用于 WHERE 子句。
语法
EXISTS(subquery)示例
检查子查询中值是否存在的查询:
SELECT EXISTS(SELECT * FROM numbers(10) WHERE number > 8), EXISTS(SELECT * FROM numbers(10) WHERE number > 11)┌─in(1, _subquery1)─┬─in(1, _subquery2)─┐
│ 1 │ 0 │
└───────────────────┴───────────────────┘包含返回多行的子查询的查询:
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 8);┌─count()─┐
│ 10 │
└─────────┘带有返回空结果的子查询的查询:
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 11);┌─count()─┐
│ 0 │
└─────────┘