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 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 SELECTlist.

Syntax

star_clause
   [ name . ] * [ except_clause ]

except_clause
   EXCEPT ( { column_name | field_name } [, ...] )

Parameters

  • Namn

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

    • column_name

      En column som ingår i set av columns som du kan referera till.

    • field_name

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

    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