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


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

Область применения:Отмечено 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 } [, ...] )

Параметры

  • имя

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

  • исключающее_условие

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

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

    • название_столбца

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

    • 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