Clause * (étoile)
S’applique à : Databricks SQL 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
-
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 à : Databricks SQL 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
.-
Colonne qui fait partie de l’ensemble de colonnes que vous pouvez référencer.
-
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 unSTRUCT
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