Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Databricks Runtime
Uma abreviação para nomear todas as colunas referenciadas na FROM cláusula ou colunas ou campos de uma referência de tabela específica na FROM cláusula.
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 o nome for uma coluna ou um nome de campo do tipo
STRUCT, listará os campos na coluna ou campo referenciados especificados. Se não estiver presente, lista todas as colunas de todas as tabelas referenciáveis na cláusula FROM. cláusula_de_exceção
Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posterioresOpcionalmente, 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á umSTRUCTvazio.
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.
-
Condições de erro comuns
- CANNOT_RESOLVE_STAR_EXPAND
- EXCEPT_OVERLAPPING_COLUMNS
- INVALID_USAGE_OF_STAR_OR_REGEX
- UNRESOLVED_COLUMN
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
-- Cannot expand star for a non-existent table.
> SELECT unknown_table.* FROM VALUES(1) AS t(c1);
Error: CANNOT_RESOLVE_STAR_EXPAND
-- Overlapping columns in `EXCEPT`.
> SELECT * EXCEPT(c1, c1) FROM VALUES(1, 2) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS