* (star)-sats
Gäller för: Databricks SQL Databricks Runtime
En förkortning för att namnge alla referensbara columns i FROM
-satsen, eller en specifik table-referens columns eller fälten i FROM
-satsen.
list av columns eller fälten ordnas i enlighet med ordningen för table referenser och ordningen för columns inom varje table referens. När det gäller fält sorteras det efter ordningen på fälten i structen.
_metadata
column ingår inte i den här list. Du måste uttryckligen referera till den.
Före Databricks Runtime 15.0 kunde star-satsen (*
) endast användas i SELECT
list.
Syntax
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parameters
-
Om namnet är ett table-namn, listas columns i den angivna referensbara table. Om namnet är ett column- eller fältnamn av typen STRUCT, visas fälten i den angivna referensbara column eller fältet. Om det inte är närvarande listas alla columns från alla referensbara tables i FROM-klausulen.
except_clause
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Du kan också beskära columns eller fält från den referensbara set av columns som identifieras i
select_star
-satsen.-
En column som ingår i set av columns som du kan referera till.
-
En referens till ett fält i en column av set av columns 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 column som finns i set av columns som du kan referera till eller till dess 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