odwołanie do tabeli

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Odwołanie do tabeli jest pośrednią tabelą wyników w języku SQL. Może on pochodzić z innych operatorów, takich jak funkcje, sprzężenia lub podzapytanie, odwołanie do tabeli bazowej bezpośrednio lub konstruowanie ich jako tabeli wbudowanej.

Składnia

table_reference
  { table_name [ TABLESAMPLE clause ] [ table_alias ] |
    { STREAM table_name [ table_alias ] | STREAM ( table_name ) [ table_alias ] } |
    view_name [ table_alias ] |
    JOIN clause |
    PIVOT clause |
    UNPIVOT clause |
    [ STREAM ] table_valued_function [ table_alias ] |
    [ LATERAL ] table_valued_function [ table_alias ] |
    VALUES clause |
    [ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ table_alias ] }

Parametry

  • Nazwa_tabeli

    Identyfikuje tabelę, która może zawierać specyfikację czasową. Aby uzyskać szczegółowe informacje, zobacz Praca z historią tabel usługi Delta Lake.

    Jeśli nie można odnaleźć tabeli usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .

    Aby uzyskać więcej informacji na temat rozpoznawania nazw, zobacz Kolumna, pole, parametr i rozdzielczość zmiennych.

  • view_name

    Identyfikuje widok lub wspólne wyrażenie tabeli (CTE). Jeśli nie można odnaleźć widoku usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .

    Aby uzyskać więcej informacji na temat rozpoznawania nazw, zobacz Kolumna, pole, parametr i rozdzielczość zmiennych.

  • STRUMIENIA

    Zwraca tabelę lub wartość tabeli jako źródło przesyłania strumieniowego. Nie można podać tabel ze specyfikacją czasową w przypadku użycia ze STREAM słowem kluczowym. Źródła przesyłania strumieniowego są najczęściej używane w definicjach tabel przesyłania strumieniowego.

  • DOŁĄCZYĆ

    Łączy co najmniej dwie relacje przy użyciu sprzężenia.

  • PRZESTAWNE

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowsze.

    Używane do perspektywy danych; Zagregowane wartości można uzyskać na podstawie określonej wartości kolumny.

    Przed rozpoczęciem pracy z usługą Databricks Runtime 12.0 funkcja PIVOT jest ograniczona do opcji SELECT zgodnie z klauzulą FROM .

  • UNPIVOT

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowsze.

    Używane do perspektywy danych; Można podzielić wiele grup kolumn na wiersze.

  • [LATERAL]table_valued_function_invocation

    Wywołuje funkcję z wartością tabeli. Aby odwołać się do kolumn uwidocznionych przez poprzednią table_reference klauzulę FROM , należy określić wartość LATERAL.

  • WARTOŚCI

    Definiuje tabelę śródliniową.

  • [LATERAL] ( zapytanie )

    Oblicza odwołanie do tabeli przy użyciu zapytania. Kwerenda poprzedzona LATERAL prefiksem może odwoływać się do kolumn uwidocznionych przez poprzednią table_reference klauzulę FROM . Taka konstrukcja jest nazywana skorelowanym lub zależnym zapytaniem.

  • TABLESAMPLE

    Opcjonalnie zmniejsz rozmiar zestawu wyników, próbkując tylko ułamek wierszy.

  • table_alias

    Opcjonalnie określa etykietę dla elementu table_reference. Jeśli parametr table_alias zawiera column_identifierich liczbę, musi być zgodna z liczbą kolumn w elem.table_reference

Wybieranie w tabeli delty

Oprócz standardowych SELECT opcji tabele delty obsługują opcje podróży czasowej opisane w tej sekcji. Aby uzyskać szczegółowe informacje, zobacz Praca z historią tabel usługi Delta Lake.

Składnia aparatu AS OF

table_identifier TIMESTAMP AS OF timestamp_expression

table_identifier VERSION AS OF version
  • timestamp_expression może być jednym z:
    • '2018-10-18T22:15:12.013Z', czyli ciąg, który można rzutować na znacznik czasu
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', czyli ciąg daty
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Dowolne inne wyrażenie, które jest lub można rzutować na znacznik czasu
  • version to długa wartość, którą można uzyskać z danych wyjściowych elementu DESCRIBE HISTORY table_spec.

Ani nie timestamp_expressionversion może być podzapytaniem.

Przykład

> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'

> SELECT * FROM delta.`/mnt/delta/events` VERSION AS OF 123

Składnia aparatu @

@ Użyj składni, aby określić znacznik czasu lub wersję. Znacznik czasu musi być w yyyyMMddHHmmssSSS formacie. Możesz określić wersję po @ , poprzedzając v element do wersji. Aby na przykład wysłać zapytanie o wersję 123 tabeli events, określ wartość events@v123.

Przykład

> SELECT * FROM events@20190101000000000

> SELECT * FROM events@v123

Przykłady

-- 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