SQL-kifejezés
A következőkre vonatkozik: Databricks SQL Databricks Runtime
A kifejezés olyan képlet, amely függvények vagy operátorok használatával konstansok vagy oszlopokra, mezőkre vagy változókra mutató hivatkozások alapján számítja ki az eredményt.
Syntax
{ literal |
named_parameter_marker |
unnamed_parameter_marker |
column_reference |
field_reference |
parameter_reference |
CAST expression |
CASE expression |
expr operator expr |
operator expr |
expr [ expr ] |
function_invocation |
( expr ) |
( expr, expr [, ... ] ) |
scalar_subquery }
scalar_subquery
( query )
A zárójelek expr [ expr ]
tényleges zárójelek, és nem jelölnek választható szintaxist.
Paraméterek
betű szerinti
-
Az SQL-utasítást beküldő API által biztosított érték nevesített és beírt helyőrzője.
-
Az SQL-utasítást beküldő API által megadott érték névtelen és beírt helyőrzője.
column_reference
Hivatkozás egy táblában vagy oszlop aliasában lévő oszlopra.
field_reference
Hivatkozás egy STRUCT típusú mezőre.
-
Egy SQL-felhasználó által definiált függvény paraméterére mutató hivatkozás a függvény törzséből. A hivatkozás használhatja a paraméter nem minősített nevét, vagy minősítheti a nevet a függvény nevével. Az azonosítók feloldásakor a paraméterek alkotják a legkülső hatókört.
-
Egy kifejezés, amely az argumentumot egy másik típusra öntötte.
-
Feltételes kiértékelést lehetővé tevő kifejezés.
expr
Maga a kifejezés, amely egy
operator
, vagy egy függvény argumentuma.-
Egy nem naplós vagy bináris operátor.
-
Hivatkozás tömbelemre vagy térképkulcsra.
-
Beépített vagy felhasználó által definiált függvény meghívása.
Részletekért tekintse meg a function_invocation .
( expr )
Kényszerített elsőbbség, amely felülírja az operátorok elsőbbséget.
( expr, expr [, ... ] )
struct
Két vagy több mezőből álló mezőt hoz létre. Ez a jelölés a szerkezetfüggvény szinonimája.-
( lekérdezés )
Egy lekérdezésen alapuló kifejezés, amely egyetlen oszlopot és legfeljebb egy sort ad vissza.
Az egyes függvények és operátorok lapjai ismertetik a paraméterek által várt adattípusokat. Az Azure Databricks implicit öntést végez a várt típusokra SQL-adattípus-szabályok használatával. Ha egy operátor vagy függvény érvénytelen a megadott argumentumhoz, az Azure Databricks hibát jelez.
A névfeloldásról további információt az Oszlop, mező, paraméter és változófeloldás című témakörben talál.
Állandó kifejezés
Olyan kifejezés, amely csak konstansokra vagy determinisztikus függvényekre épül argumentumok nélkül. Az Azure Databricks végrehajthatja a kifejezést, és használhatja az eredményül kapott állandót, ahol általában konstansokra van szükség.
Logikai kifejezés
Olyan kifejezés, amelynek eredménytípusa a következő BOOLEAN
: . A logikai kifejezéseket feltételnek vagy predikátumnak is nevezik.
Skaláris alquery
Az űrlap ( query )
kifejezése. A lekérdezésnek egy olyan táblát kell visszaadnia, amely egy oszlopból és legfeljebb egy sorból áll.
Ha a lekérdezés nem ad vissza sort, az eredmény .NULL
Ha a lekérdezés egynél több sort ad vissza, az Azure Databricks hibát ad vissza.
Ellenkező esetben az eredmény a lekérdezés által visszaadott érték.
Egyszerű kifejezés
Olyan kifejezés, amely nem tartalmaz query
skaláris alqueryt vagy predikátumot EXISTS
.
Példák
> SELECT 1;
1
> SELECT (SELECT 1) + 1;
2
> SELECT 1 + 1;
2
> SELECT 2 * (1 + 2);
6
> SELECT 2 * 1 + 2;
4
> SELECT substr('Spark', 1, 2);
Sp
> SELECT c1 + c2 FROM VALUES(1, 2) AS t(c1, c2);
3
> SELECT a[1] FROM VALUES(array(10, 20)) AS T(a);
20
> SELECT true;
true
> SELECT (c1, (c2, c3)) FROM VALUES(1, 2, 3) AS T(c1, c2, c3);
{"c1":1,"col2":{"c2":2,"c3":3}}