Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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