Udostępnij za pośrednictwem


* (gwiazdka) — klauzula

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

Skrócona nazwa wszystkich kolumn, do których można odwoływać się w klauzuli FROM , lub kolumny lub pola określonej tabeli w klauzuli FROM .

Lista kolumn lub pól jest uporządkowana według kolejności odwołań do tabeli i kolejności kolumn w poszczególnych odwołaniach do tabeli. W przypadku pól jest uporządkowana według kolejności pól w obrębie struktury.

Kolumna _metadata nie jest dołączona do tej listy. Musisz odwoływać się do niego jawnie.

Przed środowiskiem Databricks Runtime 15.0 klauzula star (*) może być używana tylko na SELECT liście.

Składnia

star_clause
   [ name . ] * [ except_clause ]

except_clause
   EXCEPT ( { column_name | field_name } [, ...] )

Parametry

  • name

    Jeśli nazwa jest nazwą tabeli, wyświetla listę kolumn w określonej tabeli możliwej do odwołania. Jeśli nazwa jest kolumną lub nazwą pola typu STRUKTURA", wyświetla pola w określonej kolumnie lub polu, do których można się odwołać. Jeśli nie ma listy wszystkich kolumn ze wszystkich tabel możliwych do odwołania w klauzuli FROM.

  • except_clause

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

    Opcjonalnie przycina kolumny lub pola z możliwego do odwołania zestawu kolumn zidentyfikowanych w klauzuli select_star .

    • column_name

      Kolumna, która jest częścią zestawu kolumn, do których można się odwoływać.

    • field_name

      Odwołanie do pola w kolumnie zestawu kolumn, do których można się odwoływać. Jeśli wykluczysz wszystkie pola z elementu STRUCT, wynik będzie pusty STRUCT.

    Każda nazwa musi odwoływać się do kolumny zawartej w zestawie kolumn, do których można odwoływać się lub do ich pól. W przeciwnym razie usługa SQL usługi Databricks zgłasza błąd UNRESOLVED_COLUMN . Jeśli nazwy nakładają się lub nie są unikatowe, usługa SQL usługi Databricks zgłasza błąd EXCEPT_OVERLAPPING_COLUMNS .

Przykłady

– Return all columns in the FROM clause
> SELECT * FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1  2  a  b

– Return all columns from TA
> SELECT TA.* FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1  2

– Return all columns except TA.c1 and TB.cb
> SELECT * EXCEPT (c1, cb)  FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  2  a

– Return all columns, but strip the field x from the struct.
> SELECT TA.* EXCEPT (c1.x) FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  { y } 2 a b

-- Return all fields in c1.
> SELECT c1.* FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  x  y

– Return the first not-NULL column in TA
> SELECT coalesce(TA.*)  FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1