riferimento alla tabella
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 successive
table_name
può 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.
[LATERAL]table_valued_function_invocation
Richiama una funzione con valori di tabella. Per fare riferimento alle colonne esposte da un
table_reference
precedente nella stessa clausolaFROM
, è necessario specificareLATERAL
.-
Definisce una tabella in linea.
[LATERAL] ( query )
Calcola un riferimento a una tabella usando una query. Una query preceduta da
LATERAL
può fare riferimento a colonne esposte da untable_reference
precedente 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_alias
includecolumn_identifier
il 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_expression
può 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 hours
date_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