* (star) 句
適用対象: Databricks SQL Databricks Runtime
FROM
句内のすべての参照可能な列、または FROM
句内の特定のテーブル参照の列またはフィールドに名前を付ける短縮形。
列またはフィールドのリストは、テーブル参照の順序と各テーブル参照内の列の順序で並べられます。 フィールドの場合は、構造体内のフィールドの順序で並べられます。
_metadata
列はこのリストには含まれていません。 明示的に参照する必要があります。
Databricks Runtime 15.0 より前のバージョンでは、star (*
) 句は SELECT
リストでのみ使用できます。
構文
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parameters
-
name がテーブル名の場合、指定された参照可能なテーブル内の列が一覧表示されます。 name が STRUCT` 型の列またはフィールド名である場合は、指定された参照可能な列またはフィールドのフィールドが一覧表示されます。 存在しない場合は、FROM 句内のすべての参照可能テーブルのすべての列が一覧表示されます。
except_clause
適用対象: Databricks SQL Databricks Runtime 11.3 LTS 以上
必要に応じて、
select_star
句で識別される参照可能な列のセットから列またはフィールドを取り除きます。-
参照可能な列セットに属する列。
-
参照可能な列セットの列内のフィールドへの参照。
STRUCT
からすべてのフィールドを除外すると、結果は空のSTRUCT
になります。
それぞれの名前は、参照可能な列セットに含まれる列またはそのフィールドを参照する必要があります。 それ以外の場合は、Databricks SQL から UNRESOLVED_COLUMN エラーが生成されます。 名前が重複していたり、一意でない場合、Databricks SQL はEXCEPT_OVERLAPPING_COLUMNS エラーを発生させます。
-
例
– 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