Compartir a través de


cláusula SELECT

Se aplica a:marcado como sí Databricks SQL marcado como sí Databricks Runtime

Recopila las columnas que se van a devolver de la subconsulta, incluidas la ejecución de expresiones, agregaciones y desduplicación.

Sintaxis

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

Parámetros

  • Consejos

    Las sugerencias ayudan al optimizador de Azure Databricks a tomar mejores decisiones de planeamiento. Azure Databricks admite sugerencias que influyen en la selección de estrategias de combinación y en la creación de nuevas particiones de los datos.

  • TODOS

    Seleccione todas las filas coincidentes en las referencias de tabla. Habilitado de forma predeterminada.

  • ÚNICO

    Seleccione todas las filas coincidentes de las referencias de la tabla después de quitar duplicados en los resultados.

  • named_expression

    Expresión con un nombre asignado opcional.

    • expresión

      Combinación de uno o varios valores, operadores y funciones SQL que se evalúan como un valor.

    • column_alias

      Identificador de columna opcional que denomina el resultado de la expresión. Si no se proporciona ningún elemento column_alias, Databricks SQL deriva uno.

  • star_clause

    Una abreviatura para asignar un nombre a todas las columnas referenciables de la FROM cláusula o a las columnas o campos de una referencia de tabla específica de la FROM cláusula .

Ejemplos

-- 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