* (stella) clausola
Si applica a: Databricks SQL Databricks Runtime
Una sintassi abbreviata per denominare tutte le colonne referenziabili nella FROM
clausola oppure le colonne o i campi di un riferimento di tabella specifico nella FROM
clausola .
L'elenco di colonne o campi viene ordinato in base all'ordine dei riferimenti di tabella e all'ordine delle colonne all'interno di ogni riferimento di tabella. In caso di campi, viene ordinato in base all'ordine dei campi all'interno dello struct.
La _metadata
colonna non è inclusa nell'elenco. È necessario farvi riferimento in modo esplicito.
Prima di Databricks Runtime 15.0 la clausola star (*
) può essere usata solo nell'elenco SELECT
.
Sintassi
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parametri
-
Se name è un nome di tabella, elenca le colonne nella tabella a cui è possibile fare riferimento. Se name è una colonna o un nome di campo di tipo STRUCT', elenca i campi nella colonna o nel campo referenziabile specificato. Se non è presente, vengono elencate tutte le colonne di tutte le tabelle a cui è possibile fare riferimento nella clausola FROM.
except_clause
Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Facoltativamente, elimina colonne o campi dal set referencabile di colonne identificate nella
select_star
clausola .-
Colonna che fa parte del set di colonne a cui è possibile fare riferimento.
-
Riferimento a un campo in una colonna del set di colonne a cui è possibile fare riferimento. Se si escludono tutti i campi da un oggetto
STRUCT
, il risultato è un oggetto vuotoSTRUCT
.
Ogni nome deve fare riferimento a una colonna inclusa nel set di colonne a cui è possibile fare riferimento o i relativi campi. In caso contrario, Databricks SQL genera un errore di UNRESOLVED_COLUMN . Se i nomi si sovrappongono o non sono univoci, Databricks SQL genera un errore EXCEPT_OVERLAPPING_COLUMNS .
-
Esempi
– 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