Cláusula * (estrela)
Aplica-se a: SQL do Databricks Databricks Runtime
Uma abreviação para nomear todas as colunas referenciáveis na cláusula FROM
, ou as colunas ou campos de uma referência específica de tabela na cláusula FROM
.
A lista de colunas ou campos é ordenada pela ordem das referências de tabela e pela ordem das colunas em cada referência de tabela. No caso dos campos, ela é ordenada pela ordem dos campos dentro da struct.
A coluna _metadata
não está incluída nessa lista. Você precisa referenciá-la explicitamente.
Antes do Databricks Runtime 15.0, a cláusula star (*
) só pode ser usada na lista SELECT
.
Sintaxe
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parâmetros
-
Se name for um nome de tabela, listará as colunas na tabela referenciável especificada. Se name for um nome de coluna ou de campo do tipo STRUCT`, listará os campos na coluna ou campo referenciável especificado. Se não estiver presente, lista todas as colunas de todas as tabelas referenciáveis na cláusula FROM.
except_clause
Aplica-se a: SQL do Databricks Databricks Runtime 11.3 LTS e versões posteriores
Opcionalmente, remove colunas ou campos do conjunto referenciável de colunas identificadas na cláusula
select_star
.-
Uma coluna que faz parte do conjunto de colunas que você pode referenciar.
-
Uma referência a um campo em uma coluna do conjunto de colunas que você pode referenciar. Se você excluir todos os campos de um
STRUCT
, o resultado será umSTRUCT
vazio.
Cada nome deve fazer referência a uma coluna incluída no conjunto de colunas que você pode referenciar ou seus campos. Caso contrário, o Databricks SQL vai gerar um erro UNRESOLVED_COLUMN. Se os nomes se sobrepõem ou não são exclusivos, o SQL do Databricks vai gerar um erro EXCEPT_OVERLAPPING_COLUMNS.
-
Exemplos
– 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