* (stella) clausola

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì 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

  • name

    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:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

    Facoltativamente, elimina colonne o campi dal set referencabile di colonne identificate nella select_star clausola .

    • column_name

      Colonna che fa parte del set di colonne a cui è possibile fare riferimento.

    • field_name

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

    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