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
A táblahivatkozások köztes eredménytáblák az SQL-ben. Ez más operátorokból, például függvényekből, illesztésekből vagy allekérdezésekből származó származtatható, közvetlenül hivatkozhat egy alaptáblára, vagy beágyazott táblaként hozható létre.
Szemantika
table_reference
{ table_name [ TABLESAMPLE clause ] [ table_alias ] |
{ STREAM table_name [ table_alias ] | STREAM ( table_name ) [ table_alias ] } |
view_name [ table_alias ] |
table_reference JOIN clause |
table_reference PIVOT clause |
table_reference UNPIVOT clause |
[ STREAM ] table_valued_function [ table_alias ] |
[ LATERAL ] table_valued_function [ table_alias ] |
VALUES clause |
[ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ table_alias ] }
Paraméterek
-
Olyan táblát azonosít, amely időbeli specifikációttartalmazhat. További információt A Delta Lake-táblaelőzmények című témakörben talál.
Ha a tábla nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát jelez.
A névfeloldásról további információ az Oszlop, mező, paraméter és változó feloldására vonatkozó hivatkozásnál található.
A következőkre vonatkozik: **
Databricks Runtime 16.0-s és újabb verziók -
Egy nézetet vagy egy közös táblakifejezést (CTE) azonosít. Ha a nézet nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát okoz.
A névfeloldásról további információ az Oszlop, mező, paraméter és változó feloldására vonatkozó hivatkozásnál található.
PATAK
Streamforrásként visszaad egy táblát vagy egy táblaértékelő függvényt. A táblák nem adhatók meg időbeli specifikációval, ha a
STREAMkulcsszóval használják. A streamelési forrásokat leggyakrabban streamelési táblákdefinícióiban használják.-
Két vagy több kapcsolatot egyesít egy illesztés használatával.
-
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabb.Adatperspektíva; az összesített értékeket adott oszlopérték alapján is lekérheti.
A Databricks Runtime 12.0 előtt a PIVOT a SELECT záradékot követően a
FROM-re korlátozódik. -
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabb.Adatperspektíva; több oszlopcsoportot is feloszthat sorokra.
[OLDALIRÁNYÚ]table_valued_function_invocation
Meghív egy táblaértékű függvényt. Ha az előző
table_referenceáltal feltüntetett oszlopokra szeretne hivatkozni ugyanabban aFROMzáradékban, meg kell adniaLATERAL.-
Beágyazott táblát definiál.
[OLDALIRÁNYÚ] ( lekérdezés )
Táblahivatkozás kiszámítása lekérdezéssel. Az
LATERALáltal előtagolt lekérdezés hivatkozhat az előzőtable_referenceáltal közzétett oszlopokra ugyanabban aFROMzáradékban. Az ilyen szerkezetet korrelált vagy függő lekérdezésnek nevezzük.-
Igény szerint csökkentheti az eredményhalmaz méretét úgy, hogy csak a sorok töredékét mintavételozza.
-
Opcionálisan megadja a címkét a
table_reference. Ha atable_aliascolumn_identifiertartalmazza, a számnak meg kell egyeznie atable_referenceoszlopainak számával.
Kijelölés a Delta táblában
A standard SELECT lehetőségek mellett a Delta-táblák támogatják az ebben a szakaszban ismertetett időutazási lehetőségeket. További információkért lásd: a Delta Lake-táblaelőzményekkel való munkavégzést.
AS OF szintaxis
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionaz 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 hoursdate_sub(current_date(), 1)- Bármely más kifejezés, amely időbélyegbe van öntött vagy adható
-
-
versionegy hosszú érték, amely a következő kimenetbőlDESCRIBE HISTORY table_speckérhető le: .
Sem nem timestamp_expressionversion 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. A 123tábla events verziójának lekérdezéséhez például adja meg a events@v123.
Példa
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Példák
-- Return a data set from a storage location using a credential.
> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH(CREDENTIAL some_credential);
-- Select from a jdbc data source while controlling the fetch size.
> SELECT * FROM jdbcTable WITH(fetchSize = 0);
-- 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