Compartilhar via


Função exists

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva 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