Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

EXISTS

EXISTS 运算符用于检查子查询结果中是否有记录。如果结果为空,则返回 0;否则返回 1

EXISTS 也可用于 WHERE 子句。

语法

EXISTS(subquery)

示例

检查子查询中值是否存在的查询:

Querysql
SELECT EXISTS(SELECT * FROM numbers(10) WHERE number > 8), EXISTS(SELECT * FROM numbers(10) WHERE number > 11)
Responsetext
┌─in(1, _subquery1)─┬─in(1, _subquery2)─┐
│                 1 │                 0 │
└───────────────────┴───────────────────┘

包含返回多行的子查询的查询:

Querysql
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 8);
Responsetext
┌─count()─┐
│      10 │
└─────────┘

带有返回空结果的子查询的查询:

Querysql
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 11);
Responsetext
┌─count()─┐
│       0 │
└─────────┘
Navigation