Compartir vía


* (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 referenciables de la FROM cláusula o a las columnas o campos de una referencia de tabla específica de la FROM cláusula .

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 _metadata columna 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 SELECT lista.

Sintaxis

star_clause
   [ name . ] * [ except_clause ]

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

Parámetros

  • nombre de

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

  • cláusula_excepto

    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 select_star cláusula .

    • nombre_de_columna

      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 a las 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 a 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