Compartilhar via


cláusula SELECT

Aplica-se a:com marcação de verificação sim Databricks SQL com marcação de verificação sim Databricks Runtime

Coleta as colunas a serem retornadas da subconsulta, incluindo a execução de expressões, agregações e remoção de duplicatas.

Sintaxe

SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]

Parâmetros

  • Dicas

    As dicas ajudam o otimizador do Azure Databricks a tomar melhores decisões de planejamento. O Azure Databricks dá suporte a dicas que influenciam a seleção de estratégias de junção e o reparticionamento dos dados.

  • TODOS

    Selecione todas as linhas correspondentes nas referências da tabela. Habilitado por padrão.

  • DISTINÇÃO

    Selecione todas as linhas correspondentes nas referências da tabela depois de remover duplicatas nos resultados.

  • named_expression

    Uma expressão com um nome atribuído opcional.

    • expressão

      Uma combinação de um ou mais valores, operadores e funções SQL que são avaliadas como um valor.

    • column_alias

      Um identificador de coluna opcional nomeando o resultado da expressão. Se nenhum column_alias for fornecido, o Databricks SQL derivará um.

  • star_clause

    Uma abreviação para nomear todas as colunas que podem ser referenciadas na cláusula FROM ou as colunas ou campos de uma referência de tabela específica na cláusula FROM.

Exemplos

-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3   4

-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  3   4

-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3

-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { "a" : 2 }

-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { }

-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  Error: EXCEPT_OVERLAPPING_COLUMNS