SELECT
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Egy eredményhalmazt egy vagy több táblahivatkozásból állít össze.
A SELECT
záradék része lehet egy lekérdezésnek, amely magában foglalja a gyakori táblakifejezéseket (CTE), a halmazműveleteket és más záradékokat is.
Syntax
SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]
FROM table_reference [, ...]
[ LATERAL VIEW clause ]
[ WHERE clause ]
[ GROUP BY clause ]
[ HAVING clause]
[ QUALIFY clause ]
named_expression
expression [ column_alias ]
star_clause
[ { table_name | view_name } . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Paraméterek
-
A tippek segítenek az Azure Databricks optimalizálójának jobb tervezési döntések meghozatalában. Az Azure Databricks olyan tippeket támogat, amelyek befolyásolják az összekapcsolási stratégiák kiválasztását és az adatok újraparticionálását.
ALL (összes)
Jelölje ki az összes egyező sort a táblahivatkozásokból. Alapértelmezés szerint engedélyezett.
KÜLÖNBÖZŐ
Jelölje ki az összes egyező sort a táblahivatkozásokból, miután eltávolította az ismétlődéseket az eredményekben.
named_expression
Nem kötelezően hozzárendelt névvel rendelkező kifejezés.
-
Egy vagy több érték, operátor és SQL-függvény kombinációja, amely kiértékeli az értéket.
-
A kifejezés eredményének elnevezésére nem kötelező oszlopazonosító. Ha nincs
column_alias
megadva, a Databricks SQL egy származtat egyet.
-
-
Rövidítés a záradék összes hivatkozható oszlopának
FROM
vagy egy adott táblahivatkozás oszlopainak vagy mezőinek aFROM
záradékban való elnevezéséhez. -
A bemeneti forrás a
SELECT
. Ez a bemeneti hivatkozás streamelési referenciává alakítható aSTREAM
hivatkozás előtti kulcsszó használatával. -
Olyan generátorfüggvényekkel együtt használatos, mint
EXPLODE
például egy egy vagy több sort tartalmazó virtuális táblázat létrehozása.LATERAL VIEW
az egyes eredeti kimeneti sorokra alkalmazza a sorokat.A Databricks SQL-ben és a Databricks Runtime 12.2-től kezdve ez a záradék elavult. Egy táblaértékű generátorfüggvényt kell meghívnia table_reference.
-
A megadott predikátumok alapján szűri a
FROM
záradék eredményét. -
A sorok csoportosításához használt kifejezések. Ez az aggregátumfüggvényekkel (
MIN
, ,MAX
,COUNT
,SUM
)AVG
együtt használatos a sorok csoportosításához az egyes csoportok csoportosítási kifejezései és összesített értékei alapján. Ha egy záradékotFILTER
aggregátumfüggvényhez csatol, a függvény csak az egyező sorokat továbbítja a függvénynek. -
Azok a predikátumok, amelyek alapján az előállított
GROUP BY
sorok szűrve vannak. AHAVING
záradék a sorok szűrésére szolgál a csoportosítás végrehajtása után. Ha anélkül ad megHAVING
, az csoportosítás nélküli kifejezéseket (globális összesítést) jelezGROUP BY
.GROUP BY
-
Az ablakfüggvények eredményeinek szűrésére használt predikátumok. A használatához
QUALIFY
legalább egy ablakfüggvénynek szerepelnie kell a Standard kiadás LECT listában vagy a QUALIFY záradékban.
Kijelölés a Delta táblában
A standard SELECT
beállítások mellett a Delta-táblák támogatják az ebben a szakaszban ismertetett időutazási lehetőségeket. További részletekért lásd : A Delta Lake táblaelőzményeinek ismertetése.
AS OF
Szintaxis
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
timestamp_expression
az alábbiak bármelyike lehet:'2018-10-18T22:15:12.013Z'
, azaz olyan sztring, amely időbélyegre vethetőcast('2018-10-18 13:36:32 CEST' as timestamp)
'2018-10-18'
, azaz dátumsztringcurrent_timestamp() - interval 12 hours
date_sub(current_date(), 1)
- Bármely más kifejezés, amely időbélyegbe van öntött vagy adható
version
egy hosszú érték, amely a következő kimenetbőlDESCRIBE HISTORY table_spec
kérhető le: .
Sem nem timestamp_expression
version
lehet alqueries.
Példa
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM delta.`/mnt/delta/events` VERSION AS OF 123
@
Szintaxis
A szintaxis használatával @
adja meg az időbélyeget vagy a verziót. Az időbélyegnek formátumban yyyyMMddHHmmssSSS
kell lennie. A verziót a @
verzióra való előerősítéssel v
adhatja meg. Ha például le szeretné kérdezni a tábla events
verzióját, adja meg a kívánt events@v123
értéket123
.
Példa
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Példák
-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3 4
-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
3 4
-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3
-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { "a" : 2 }
-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { }
-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS
Kapcsolódó cikkek
- CLUSTER BY záradék
- Gyakori táblakifejezés (CTE)
- DISTRIBUTE BY záradék
- GROUP BY záradék
- HAVING záradék
- QUALIFY záradék
- Tippeket
- VALUES záradék
- CSATLAKOZZON
- LATERAL VIEW záradék
- LIMIT záradék
- KI Standard kiadás T záradék
- ORDER BY záradék
- PIVOT záradék
- Lekérdezés
- TABLESAMPLE záradék
- Operátorok beállítása
- SORT BY záradék
- Csillag záradék
- Táblaértékű függvény (TVF)
- táblahivatkozás
- UNPIVOT záradék
- WHERE záradék
- WINDOW záradék
- Ablakfüggvények