Delen via


SELECT-clausule

Van toepassing op:aangevinkt als ja Databricks SQL aangevinkt als ja Databricks Runtime

Verzamelt de kolommen die moeten worden geretourneerd vanuit de subquery, inclusief de uitvoering van expressies, aggregaties en ontdubbeling.

Syntaxis

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

Parameters

  • aanwijzingen

    Hints helpen de Azure Databricks Optimizer betere planningsbeslissingen te nemen. Azure Databricks ondersteunt hints die invloed hebben op de selectie van joinstrategieën en het opnieuw partitioneren van de gegevens.

  • ALLE

    Selecteer alle overeenkomende rijen in de tabelverwijzingen. Standaard ingeschakeld.

  • DISTINCT-

    Selecteer alle overeenkomende rijen uit de tabelverwijzingen nadat u dubbele waarden in de resultaten hebt verwijderd.

  • benoemde_expressie

    Een expressie met een optionele toegewezen naam.

    • expressie

      Een combinatie van een of meer waarden, operators en SQL-functies die een waarde opleveren.

    • column_alias

      Een optionele kolomidentifier die het resultaat van de expressie benoemt. Als er geen column_alias is opgegeven, leidt Databricks SQL er een af.

  • ster_clausule

    Een afkorting om alle verwijzende kolommen in de FROM component of de kolommen of velden van een specifieke tabelverwijzing in de FROM-component een naam te geven.

Voorbeelden

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