Share via


* (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 がテーブル名の場合、指定された参照可能なテーブル内の列が一覧表示されます。 name が STRUCT` 型の列またはフィールド名である場合は、指定された参照可能な列またはフィールドのフィールドが一覧表示されます。 存在しない場合は、FROM 句内のすべての参照可能テーブルのすべての列が一覧表示されます。

  • except_clause

    適用対象:check marked yes Databricks SQL 「はい」のチェック マーク Databricks Runtime 11.3 LTS 以降

    必要に応じて、select_star 句で識別される参照可能な列のセットから列またはフィールドを取り除きます。

    • column_name

      参照可能な列セットに属する列。

    • field_name

      参照可能な列セットの列内のフィールドへの参照。 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