* (star) (cláusula)
Se aplica a: Databricks SQL 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
-
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: Databricks SQL 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
.-
Columna que forma parte del conjunto de columnas a las que puede hacer referencia.
-
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 unSTRUCT
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