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 } [, ...]

Parameterwaarden

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

Algemene foutvoorwaarden

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