Поделиться через


* (звездочку) предложение

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime

Короткое название всех ссылочных столбцов в FROM предложении или столбцов конкретной ссылки на таблицу в предложении FROM .

Список столбцов или полей упорядочен по порядку ссылок на таблицы и по порядку столбцов в каждой ссылке на таблицу. Если поля упорядочены по порядку полей структуры.

Столбец _metadata не включен в этот список. Его нужно указать явным образом.

До Databricks Runtime 15.0 предложение star (*) можно использовать только в списке SELECT .

Синтаксис

star_clause
   [ name . ] * [ except_clause ]

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

Параметры

  • name

    Если имя является именем таблицы, перечисляет столбцы в указанной ссылаемой таблице. Если имя является столбцом или именем поля типа STRUCT", перечисляет поля в указанном ссылаемом столбце или поле. Если нет списка всех столбцов из всех ссылочных таблиц в предложении FROM.

  • except_clause

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

    Позволяет при необходимости урезать столбцы или поля из набора столбцов, на который можно добавить ссылки, определенного в предложении select_star.

    • column_name

      Столбец, который входит набора столбцов, на которые можно ссылаться.

    • field_name

      Ссылка на поле в столбце набора столбцов, на который можно ссылаться. Если исключить все поля из STRUCT, возвращается пустое значение STRUCT.

    Каждое имя должно ссылаться на один столбец, включенный в набор столбцов, на которые можно ссылаться, или на поле такого столбца. В противном случае Databricks SQL сгенерирует ошибку UNRESOLVED_COLUMN. Если имена перекрываются или не являются уникальными, Databricks SQL генерирует ошибку EXCEPT_OVERLAPPING_COLUMNS.

Примеры

– 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