* (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.
Den _metadata
kolumnen ingår inte i den här listan. Du måste uttryckligen referera till den.
Före Databricks Runtime 15.0 kunde stjärnklause (*
) 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 inte närvarande anges alla kolumner från alla referensbara tabeller i FROM-klausulen.
except_clause
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Du kan välja att beskära kolumner eller fält från den refererade uppsättningen av kolumner som identifieras i
select_star
-klausulen.-
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