* (star)-sats
Gäller för: Databricks SQL Databricks Runtime
En förkortning för att namnge alla referensbara kolumner i FROM
-satsen, eller en specifik tabellreferenss kolumner eller fält i FROM
-satsen.
Listan över kolumner eller fält sorteras efter tabellreferensernas ordning och ordningen på kolumnerna i varje tabellreferens. När det gäller fält sorteras det efter ordningen på fälten i structen.
Kolumnen _metadata
ingår inte i den här listan. Du måste uttryckligen referera till den.
Före Databricks Runtime 15.0 kan star-satsen (*
) endast användas i SELECT
listan.
Syntax
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parametrar
-
Om namnet är ett tabellnamn visas kolumnerna i den angivna referensbara tabellen. Om namnet är en kolumn eller ett fältnamn av typen STRUCT, visas fälten i den angivna referensbara kolumnen eller fältet. Om det inte finns en lista över alla kolumner från alla referensbara tabeller i FROM-satsen.
except_clause
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Du kan också beskära kolumner eller fält från den referensbara uppsättningen kolumner som identifieras i
select_star
-satsen.-
En kolumn som ingår i den uppsättning kolumner som du kan referera till.
-
En referens till ett fält i en kolumn i den uppsättning kolumner som du kan referera till. Om du exkluderar alla fält från en
STRUCT
är resultatet ett tomtSTRUCT
.
Varje namn måste referera till en kolumn som ingår i den uppsättning kolumner som du kan referera till eller deras fält. Annars genererar Databricks SQL ett UNRESOLVED_COLUMN fel. Om namn överlappar eller inte är unika genererar Databricks SQL ett EXCEPT_OVERLAPPING_COLUMNS fel.
-
Exempel
– Return all columns in the FROM clause
> SELECT * FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
1 2 a b
– Return all columns from TA
> SELECT TA.* FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
1 2
– Return all columns except TA.c1 and TB.cb
> SELECT * EXCEPT (c1, cb) FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
2 a
– Return all columns, but strip the field x from the struct.
> SELECT TA.* EXCEPT (c1.x) FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
{ y } 2 a b
-- Return all fields in c1.
> SELECT c1.* FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
x y
– Return the first not-NULL column in TA
> SELECT coalesce(TA.*) FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
1
Relaterade artiklar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för