Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

EXISTS

L’opérateur EXISTS vérifie si le résultat d’une sous-requête contient des enregistrements. S’il est vide, l’opérateur renvoie 0. Sinon, il renvoie 1.

EXISTS peut également être utilisé dans une clause WHERE.

Syntaxe

EXISTS(subquery)

Exemple

Requête vérifiant l’existence de valeurs dans une sous-requête :

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

Requête avec une sous-requête renvoyant plusieurs lignes :

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

Requête avec une sous-requête qui renvoie un résultat vide :

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