Dela via


SELECT-klasul

gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime

Samlar in de kolumner som ska returneras från underfrågan, inklusive utförande av uttryck, aggregeringar och deduplicering.

Syntax

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

Parametrar

  • tips

    Tips hjälper Azure Databricks-optimeraren att fatta bättre planeringsbeslut. Azure Databricks stöder tips som påverkar valet av kopplingsstrategier och ompartitionering av data.

  • ALLA

    Markera alla matchande rader från tabellreferenserna. Aktiverad som standard.

  • DISTINKT

    Markera alla matchande rader från tabellreferenserna när du har tagit bort dubbletter i resultat.

  • namngiven_uttryck

    Ett uttryck med ett valfritt tilldelat namn.

    • uttryck

      En kombination av ett eller flera värden, operatorer och SQL-funktioner som utvärderas till ett värde.

    • column_alias

      En valfri kolumnidentifierare som namnger uttrycksresultatet. Om ingen column_alias tillhandahålls, härleder Databricks SQL en.

  • star_clause

    En förkortning för att namnge alla referensbara kolumner i FROM-satsen eller en specifik tabellreferenss kolumner eller fält i FROM-satsen.

Exempel

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