Compartilhar via


Cláusula * (estrela)

Aplica-se a: marca de seleção positiva SQL do Databricks verificação marcada como sim 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

  • name

    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:verificação marcada como sim SQL do Databricks marca de seleção positiva 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.

    • column_name

      Uma coluna que faz parte do conjunto de colunas que você pode referenciar.

    • field_name

      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á um STRUCT 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