Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Odkaz na tabulku je zprostředkující výsledná tabulka v rámci SQL. Lze ji odvodit z jiných operátorů, jako jsou funkce, spojení nebo poddotaz, odkazovat přímo na základní tabulku nebo ji vytvořit jako vloženou tabulku.
Syntaxe
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 ] }
Parametry
-
Identifikuje tabulku, která může obsahovat dočasnou specifikaci. Podrobnosti najdete v tématu Práce s historií tabulek Delta Lake.
Pokud tabulku nenajdete, Azure Databricks vyvolá TABLE_OR_VIEW_NOT_FOUND chybu.
Další informace o překladu názvů najdete v tématu Sloupec, pole, parametr a rozlišení proměnných.
Platí pro: **
Databricks Runtime 16.0 a vyššítable_namemůže obsahovat specifikaci možností. -
Identifikuje zobrazení nebo běžný výraz tabulky (CTE). Pokud se zobrazení nenašlo, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND .
Další informace o překladu názvů najdete v tématu Sloupec, pole, parametr a rozlišení proměnných.
PROUD
Vrátí tabulku nebo funkci s hodnotou tabulky jako zdroj streamování. Tabulky nelze poskytnout s dočasnou specifikací při použití s klíčovým slovem
STREAM. Zdroje streamování se nejčastěji používají v definicích streamovaných tabulek.-
Kombinuje dvě nebo více relací pomocí spojení.
-
Platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší.Používá se pro perspektivu dat; Agregované hodnoty můžete získat na základě konkrétní hodnoty sloupce.
Před Databricks Runtime 12.0 je PIVOT omezen na SELECT podle klauzule
FROM. -
Platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší.Používá se pro perspektivu dat; Můžete rozdělit více skupin sloupců na řádky.
[LATERAL]volání tabulkové funkce
Vyvolá funkci s hodnotou tabulky. Chcete-li odkazovat na sloupce vystavené předchozím
table_referencev stejnéFROMklauzuli, musíte zadatLATERAL.-
Definuje vloženou tabulku.
[LATERAL] ( dotaz )
Vypočítá odkaz na tabulku pomocí dotazu. Dotaz s předponou
LATERALmůže odkazovat na sloupce vystavené předchozímtable_referenceve stejnéFROMklauzuli. Takový konstruktor se nazývá korelovaný nebo závislý dotaz.-
Volitelně můžete zmenšit velikost sady výsledků pouze vzorkováním zlomku řádků.
-
Volitelně určuje popisek pro objekt
table_reference.table_aliasJe-li jejich počet součástícolumn_identifiermusí odpovídat počtu sloupců v sadětable_reference.
Výběr v tabulce Delta
Kromě standardních SELECT možností tabulky Delta podporují možnosti časového cestování popsané v této části. Podrobnosti najdete v tématu Práce s historií tabulek Delta Lake.
Syntaxe AS OF
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionmůže být libovolná z těchto možností:-
'2018-10-18T22:15:12.013Z'to znamená řetězec, který lze přetypovat na časové razítko. cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18'to znamená řetězec kalendářního data. current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Jakýkoli jiný výraz, který je nebo lze přetypovat na časové razítko
-
-
versionje dlouhá hodnota, kterou lze získat z výstupuDESCRIBE HISTORY table_spec.
timestamp_expression Ani version nemůže být poddotaz.
Příklad
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
Syntaxe @
@ Pomocí syntaxe zadejte časové razítko nebo verzi. Časové razítko musí být ve yyyyMMddHHmmssSSS formátu. Verzi @ můžete zadat tak, že ji předejdete v . Pokud chcete například zadat dotaz na verzi 123 tabulky events, zadejte events@v123.
Příklad
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Příklady
-- 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