SELECT-clausule
Van toepassing op: Databricks SQL
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
-
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.
-
Een combinatie van een of meer waarden, operators en SQL-functies die een waarde opleveren.
-
Een optionele kolomidentifier die het resultaat van de expressie benoemt. Als er geen
column_alias
is opgegeven, leidt Databricks SQL er een af.
-
-
Een afkorting om alle verwijzende kolommen in de
FROM
component of de kolommen of velden van een specifieke tabelverwijzing in deFROM
-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