Partilhar via


SELECT cláusula

Aplica-se a:marcado com sim Databricks SQL marcado com sim Databricks Runtime

Reúne as colunas que devem ser retornadas da subconsulta, incluindo a execução de expressões, agregações e a eliminação de duplicados.

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 OS

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

  • DISTINTOS

    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 é avaliada 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 valor.

  • star_clause

    Uma abreviatura para nomear todas as colunas referendáveis na cláusula FROM ou colunas ou campos de referência de uma 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