Função exists
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna verdadeiro se func
for verdadeiro para qualquer elemento em expr
ou query
retornar pelo menos uma linha.
Sintaxe
exists(expr, func)
exists(query)
Argumentos
expr
: uma expressão MATRIZ.func
: uma função lambda.query
: qualquer consulta.
Retornos
Um BOOLIANO.
A função lambda deve resultar em um booliano e operar em um parâmetro, que representa um elemento na matriz.
exists(query)
Só pode ser usado na cláusula ONDE e em alguns outros casos específicos.
Exemplos
> SELECT exists(array(1, 2, 3), x -> x % 2 == 0);
true
> SELECT exists(array(1, 2, 3), x -> x % 2 == 10);
false
> SELECT exists(array(1, NULL, 3), x -> x % 2 == 0);
NULL
> SELECT exists(array(0, NULL, 2, 3, NULL), x -> x IS NULL);
true
> SELECT exists(array(1, 2, 3), x -> x IS NULL);
false
> SELECT count(*) FROM VALUES(1)
WHERE exists(SELECT * FROM VALUES(1), (2), (3) AS t(c1) WHERE c1 = 2);
1
> SELECT count(*) FROM VALUES(1)
WHERE exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
0
> SELECT count(*) FROM VALUES(1)
WHERE NOT exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
1