* (звездочку) предложение
Область применения: 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.
except_clause
Область применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
При необходимости удаляет столбцы или поля из ссылаемого набора столбцов, определенных в предложении
select_star
.-
Столбец, который является частью набора столбцов, на которые можно ссылаться.
-
Ссылка на поле в столбце набора столбцов, на которые можно ссылаться. Если исключить все поля из
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