klauzule SELECT
platí pro: Databricks SQL
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 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.
-
Kombinace jedné nebo více hodnot, operátorů a funkcí SQL, které se vyhodnotí jako hodnota.
-
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í.
-
-
Zkratka pro pojmenování všech odkazovatelných sloupců v klauzuli
FROM
nebo sloupce nebo pole konkrétního odkazu na tabulku v klauzuliFROM
.
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