exists
Funkcja
Dotyczy: wyboru SQL usługi Databricks Databricks Runtime
Zwraca wartość true, jeśli func
ma wartość true dla dowolnego elementu w expr
elemecie lub query
zwraca co najmniej jeden wiersz.
Składni
exists(expr, func)
exists(query)
Argumenty
expr
: wyrażenie ARRAY.func
: Funkcja lambda.query
: Dowolne zapytanie.
Zwraca
WARTOŚĆ LOGICZNA.
Funkcja lambda musi spowodować wartość logiczną i działać na jednym parametrze, który reprezentuje element w tablicy.
exists(query)
można używać tylko w klauzuli WHERE i kilku innych konkretnych przypadkach.
Przykłady
> 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