Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks SQL
Databricks Runtime
Un riferimento a una tabella è una tabella dei risultati intermedia all'interno di SQL. Può essere derivata da altri operatori, ad esempio funzioni, join o sottoquery, fare riferimento direttamente a una tabella di base o essere costruita come tabella inline.
Sintassi
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 ] }
Parametri
-
Identifica una tabella che può contenere una specifica temporale . Per informazioni dettagliate, vedere
Usare la cronologia delle tabelle Delta Lake. Se la tabella non è stata trovata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND.
Per altre informazioni sulla risoluzione dei nomi, vedere colonna, campo, parametro e risoluzione delle variabili.
Si applica a: **
Databricks Runtime 16.0 e versioni successivetable_namepuò includere una specifica di opzioni. -
Identifica una vista o un'espressione di tabella comune (CTE). Se non è possibile trovare la vista azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .
Per altre informazioni sulla risoluzione dei nomi, vedere colonna, campo, parametro e risoluzione delle variabili.
CORRENTE
Restituisce una tabella o una funzione con valori di tabella come origine di streaming. Le tabelle non possono essere fornite con una specifica temporale se usata con la parola chiave
STREAM. Le sorgenti di streaming sono comunemente utilizzate nelle definizioni delle tabelle streaming .-
Combina due o più relazioni utilizzando un'operazione di join.
-
Si applica a:
Databricks SQL
Databricks Runtime 12.2 LTS e versioni successive.Usato per la prospettiva dei dati; è possibile ottenere i valori aggregati in base a un valore di colonna specifico.
Prima di Databricks Runtime 12.0 PIVOT è limitato a SELECT dopo la clausola
FROM. -
Si applica a:
Databricks SQL
Databricks Runtime 12.2 LTS e versioni successive.Usato per la prospettiva dei dati; è possibile suddividere più gruppi di colonne in righe.
[LATERALE]table_valued_function_invocation
Richiama una funzione con valori di tabella. Per fare riferimento alle colonne esposte da un
table_referenceprecedente nella stessa clausolaFROM, è necessario specificareLATERAL.-
Definisce una tabella in linea.
[LATERALE] ( query )
Calcola un riferimento a una tabella usando una query. Una query preceduta da
LATERALpuò fare riferimento a colonne esposte da untable_referenceprecedente nella stessa clausolaFROM. Tale costrutto viene chiamato query correlata o dipendente.-
Facoltativamente, ridurre le dimensioni del set di risultati eseguendo solo il campionamento di una frazione delle righe.
-
Facoltativamente, specifica un'etichetta per l'oggetto
table_reference. Se iltable_aliasincludecolumn_identifieril relativo numero deve corrispondere al numero di colonne neltable_reference.
Seleziona sulla tabella Delta
Oltre alle opzioni standard di SELECT, le tabelle Delta supportano le opzioni di viaggio del tempo descritte in questa sezione. Per maggiori dettagli, vedere Usare la cronologia delle tabelle Delta Lake.
Sintassi AS OF
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionpuò essere uno qualsiasi di:-
'2018-10-18T22:15:12.013Z'ovvero una stringa di cui è possibile eseguire il cast a un timestamp cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', ovvero una stringa di data current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Qualsiasi altra espressione che è o può essere eseguita il cast a un timestamp
-
-
versionè un valore long che può essere ottenuto dall'output diDESCRIBE HISTORY table_spec.
Né timestamp_expression né version possono essere sottoquery.
Esempio
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
Sintassi @
Usare la @ sintassi per specificare il timestamp o la versione. Il timestamp deve essere in yyyyMMddHHmmssSSS formato . È possibile specificare una versione dopo @ anteponendo una v alla versione. Ad esempio, per eseguire una query sulla versione 123 per la tabella events, specificare events@v123.
Esempio
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Esempi
-- 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