Sdílet prostřednictvím


klauzule SELECT

platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Shromažďuje sloupce, které se mají vrátit z poddotazu, včetně vyhodnocení výrazů, agregací a odstranění duplicitních hodnot.

Syntax

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

Parametry

  • rady

    Rady pomáhají optimalizátoru Azure Databricks lépe rozhodovat o plánování. Azure Databricks podporuje rady, které ovlivňují výběr strategií spojení a opětovné rozdělení dat.

  • ALL

    Vyberte všechny odpovídající řádky z odkazů na tabulku. Ve výchozím nastavení je povoleno.

  • ROZLIŠENÝ

    Po odebrání duplicit ve výsledcích vyberte všechny odpovídající řádky z odkazů na tabulku.

  • pojmenovaný_výraz

    Výraz s volitelným přiřazeným názvem.

    • výraz

      Kombinace jedné nebo více hodnot, operátorů a funkcí SQL, které se vyhodnotí jako hodnota.

    • column_alias

      Volitelný identifikátor sloupce určující název výsledku výrazu. Pokud není k dispozici žádná column_alias, Databricks SQL sám jednu odvodí.

  • star_clause

    Zkratka pro pojmenování všech odkazovatelných sloupců v klauzuli FROM nebo sloupce nebo pole konkrétního odkazu na tabulku v klauzuli FROM.

Příklady

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