Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Szemantika
SELECT 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
-
Összegyűjti az al-lekérdezésből visszaadandó oszlopokat, beleértve a kifejezések, aggregációk és deduplikálás végrehajtását.
-
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.Ha a
table_reference
metrikus nézet, aFROM
kikötésben nem lehet más táblahivatkozás. -
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
QUALIFY
használatához legalább egy ablakfüggvénynek szerepelnie kell a SELECT 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átumsztring current_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 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 123
verzióját, adja meg a kívánt events
értéketevents@v123
.
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 klauzula
- Gyakori táblakifejezés (CTE)
- DISTRIBUTE BY klauzula
- GROUP BY klauzula
- HAVING klauzula
- QUALIFY klauzula
- Tippeket
- VALUES klauzula
- JOIN
- LATERAL VIEW klauzula
- LIMIT klauzula
- OFFSET klauzula
- ORDER BY klauzula
- PIVOT klauzula
- Lekérdezés
- SELECT klauzula
- Operátorok beállítása
- SORT BY klauzula
- Csillag záradék
- TABLESAMPLE klauzula
- Táblaértékű függvény (TVF)
- táblahivatkozás
- UNPIVOT klauzula
- WHERE klauzula
- WINDOW klauzula
- Ablakfüggvények