Dela via


* (star)-sats

Gäller för: markerad ja Databricks SQL markerad ja 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

  • Namn

    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: markerad ja Databricks SQL markerad ja 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.

    • column_name

      En kolumn som ingår i den uppsättning kolumner som du kan referera till.

    • field_name

      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 tomt STRUCT.

    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