Delen via


* (ster) component

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Een afkorting om alle verwijzende kolommen in de FROM component een naam te geven, of een specifieke tabelverwijzingskolommen of -velden in de FROM component.

De lijst met kolommen of velden wordt gerangschikt op basis van de volgorde van tabelverwijzingen en de volgorde van kolommen binnen elke tabelverwijzing. In het geval van velden wordt deze gerangschikt op volgorde van velden in de struct.

De _metadata kolom is niet opgenomen in deze lijst. U moet er expliciet naar verwijzen.

Vóór Databricks Runtime 15.0 kan de stercomponent (*) alleen worden gebruikt in de SELECT lijst.

Syntaxis

star_clause
   [ name . ] * [ except_clause ]

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

Parameters

  • name

    Als de naam een tabelnaam is, worden de kolommen in de opgegeven tabel vermeld waarnaar kan worden verwezen. Als de naam een kolom- of veldnaam van het type STRUCT is, worden de velden weergegeven in de opgegeven kolom of het opgegeven veld waarnaar kan worden verwezen. Als deze niet aanwezig is, worden alle kolommen uit alle referentietabellen in de FROM-component weergegeven.

  • except_clause

    Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

    U kunt eventueel kolommen of velden verwijderen uit de referencable set kolommen die in de select_star component zijn geïdentificeerd.

    • column_name

      Een kolom die deel uitmaakt van de set kolommen waarnaar u kunt verwijzen.

    • field_name

      Een verwijzing naar een veld in een kolom van de set kolommen waarnaar u kunt verwijzen. Als u alle velden uit een STRUCTuitsluit, is het resultaat leeg STRUCT.

    Elke naam moet verwijzen naar een kolom die is opgenomen in de set kolommen waarnaar u kunt verwijzen of naar de bijbehorende velden. Anders genereert Databricks SQL een UNRESOLVED_COLUMN-fout . Als namen elkaar overlappen of niet uniek zijn, genereert Databricks SQL een EXCEPT_OVERLAPPING_COLUMNS fout.

Voorbeelden

– 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