Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:
Databricks SQL
Databricks Runtime
En tabellreferens är en mellanliggande resultattabell i SQL. Det kan vara härledd från andra operatorer, till exempel funktioner, kopplingar eller en underfråga, referera till en bastabell direkt eller konstrueras som en infogad tabell.
Syntax
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 ] }
Parametrar
-
Identifierar en tabell som kan innehålla en temporal specifikation. Mer information finns i Arbeta med Delta Lake-tabellhistorik.
Om det inte går att hitta tabellen skapar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
För mer information om namnupplösning, se upplösningen för kolumn, fält, parameter och variabel i .
Gäller för: **
Databricks Runtime 16.0 och senaretable_namekan innehålla en alternativspecifikation. -
Identifierar en vy eller ett gemensamt tabelluttryck (CTE). Om vyn inte kan hittas genererar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
För mer information om namnupplösning, se upplösningen för kolumn, fält, parameter och variabel i .
STRÖM
Returnerar en tabell eller en tabellvärdesfunktion som en strömmande källa. Tabeller kan inte anges med en temporal specifikation när de används med nyckelordet
STREAM. Strömmande källor används oftast i definitionerna av strömmande tabeller.-
Kombinerar två eller flera relationer med hjälp av en koppling.
-
Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare.Används för dataperspektiv; du kan hämta de aggregerade värdena baserat på ett specifikt kolumnvärde.
Före Databricks Runtime 12.0 är PIVOT begränsad till SELECT som följer
FROM-satsen. -
Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare.Används för dataperspektiv; du kan dela upp flera kolumngrupper i rader.
[LATERAL]table_valued_function_invocation
Anropar en tabellvärdesfunktion. Om du vill referera till kolumner som exponeras av en föregående
table_referencei sammaFROM-sats måste du angeLATERAL.-
Definierar en infogad tabell.
[LATERAL] ( fråga )
Beräknar en tabellreferens med hjälp av en fråga. En fråga som föregås av
LATERALkan referera till kolumner som exponeras av en föregåendetable_referencei sammaFROM-sats. En sådan konstruktion kallas för en korrelerad eller beroende fråga.-
Du kan också minska storleken på resultatuppsättningen genom att bara ta en bråkdel av raderna.
-
Du kan också ange en etikett för
table_reference. Omtable_aliasinnehållercolumn_identifiermåste deras antal matcha antalet kolumner itable_reference.
Välj i Delta-tabellen
Förutom standardalternativen för SELECT stöder Delta-tabeller de tidsresealternativ som beskrivs i det här avsnittet. Mer information finns i Arbeta med Delta Lake-tabellhistorik.
AS OF syntax
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionkan vara något av följande:-
'2018-10-18T22:15:12.013Z', det vill: en sträng som kan gjutas till en tidsstämpel cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', det vill: en datumsträng current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Andra uttryck som är eller kan gjutas till en tidsstämpel
-
-
versionär ett långt värde som kan hämtas från utdataDESCRIBE HISTORY table_specfrån .
Varken timestamp_expression eller version kan vara underfrågor.
Exempel
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
@ syntax
Använd syntaxen @ för att ange tidsstämpeln eller versionen. Tidsstämpeln måste vara i yyyyMMddHHmmssSSS format. Du kan ange en version efter @ genom att lägga till en v till versionen. Om du till exempel vill fråga version 123 för tabellen eventsanger du events@v123.
Exempel
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Exempel
-- 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