Clause * (étoile)

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Raccourci pour nommer toutes les colonnes référençables dans la clause FROM, ou les colonnes ou champs d’une référence de table spécifique dans la clause FROM.

La liste des colonnes est triée selon l’ordre des références de table et l’ordre des colonnes dans chaque référence de table. Dans le cas des champs, elle est triée selon l’ordre des champs dans le struct.

La colonne _metadata n’est pas incluse dans cette liste. Vous devez la référencer explicitement.

Avant Databricks Runtime 15.0, la clause étoile (*) ne peut être utilisée que dans la liste SELECT.

Syntaxe

star_clause
   [ name . ] * [ except_clause ]

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

Paramètres

  • name

    Si le nom est un nom de table, liste les colonnes de la table référençable spécifiée. Si le nom est un nom de colonne ou de champ de type STRUCT, liste les champs de la colonne ou du champ référençable spécifié. S’il n’est pas présent, liste toutes les colonnes de toutes les tables référençables dans la clause FROM.

  • except_clause

    S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 11.3 LTS et versions ultérieures

    Élague éventuellement des colonnes ou des champs dans l’ensemble de colonnes référençables identifiées dans la clause select_star.

    • column_name

      Colonne qui fait partie de l’ensemble de colonnes que vous pouvez référencer.

    • field_name

      Référence à un champ dans une colonne de l’ensemble de colonnes que vous pouvez référencer. Si vous excluez tous les champs d’un STRUCT, le résultat est un STRUCT vide.

    Chaque nom doit référencer une colonne incluse dans l’ensemble de colonnes que vous pouvez référencer ou leurs champs. Sinon, Databricks SQL génère une erreur UNRESOLVED_COLUMN. Si les noms se chevauchent ou ne sont pas uniques, Databricks SQL déclenche une erreur EXCEPT_OVERLAPPING_COLUMNS.

Exemples

– 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