* (star) (cláusula)

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Una abreviatura para asignar un nombre a todas las columnas a las que se hace referencia en la cláusula FROM o bien a las columnas o campos de una referencia de tabla específica de la cláusula FROM.

La lista de columnas o campos se ordena por el orden de las referencias de tabla y el orden de las columnas dentro de cada referencia de tabla. En el caso de los campos, se ordena por el orden de los campos dentro de la estructura.

La columna _metadata no está incluida en esta lista. Debe hacer una referencia explícita.

Antes de Databricks Runtime 15.0, la cláusula star (*) solo se puede usar en la lista SELECT.

Sintaxis

star_clause
   [ name . ] * [ except_clause ]

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

Parámetros

  • name

    Si name es un nombre de tabla, enumera las columnas de la tabla a la que se hace referencia. Si name es un nombre de columna o campo de tipo STRUCT', enumera los campos de la columna o campo a los que se hace referencia especificados. Si no está presente, se enumeran todas las columnas de todas las tablas a las que se hace referencia en la cláusula FROM.

  • except_clause

    Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

    Opcionalmente, elimina columnas o campos del conjunto referenciable de columnas identificadas en la cláusula select_star.

    • column_name

      Columna que forma parte del conjunto de columnas a las que puede hacer referencia.

    • field_name

      Referencia a un campo de una columna del conjunto de columnas al que puede hacer referencia. Si excluye todos los campos de STRUCT, el resultado es un STRUCT vacío.

    Cada nombre debe hacer referencia a una columna incluida en el conjunto de columnas a las que puede hacer referencia o sus campos. De lo contrario, Databricks SQL genera un error UNRESOLVED_COLUMN. Si los nombres se superponen o no son únicos, Databricks SQL genera el error EXCEPT_OVERLAPPING_COLUMNS.

Ejemplos

– 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