Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

EXISTS

El operador EXISTS comprueba cuántos registros hay en el resultado de una subconsulta. Si está vacío, el operador devuelve 0. En caso contrario, devuelve 1.

EXISTS también puede usarse en una cláusula WHERE.

Sintaxis

EXISTS(subquery)

Ejemplo

Consulta para comprobar la existencia de valores en una subconsulta:

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 │
└───────────────────┴───────────────────┘

Consulta con una subconsulta que devuelve varias filas:

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

Consulta con una subconsulta que devuelve un resultado vacío:

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