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.

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

  • 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 inte närvarande anges alla kolumner från alla referensbara tabeller i FROM-klausulen.

  • except_clause

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

    • 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