次の方法で共有


SELECT 句

適用対象:チェックマーク付き(はい) Databricks SQL チェックマーク付き(はい) Databricks ランタイム

式、集計、重複除去の実行など、サブクエリから返される列を収集します。

構文

SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]

パラメーター

  • ヒント

    ヒントは、Azure Databricks オプティマイザーがより適切な計画上の意思決定を行うのに役立ちます。 Azure Databricks では、結合戦略の選択とデータの再パーティション分割に影響するヒントがサポートされています。

  • すべての

    テーブル参照から一致するすべての行を選択します。 既定で有効になっています。

  • 個別

    結果の重複を削除した後、テーブル参照から一致するすべての行を選択します。

  • named_expression

    省略可能な名前が割り当てられた式。

    • 表現

      値に評価される 1 つ以上の値、演算子、および SQL 関数の組み合わせ。

    • column_alias

      式の結果に名前を付ける省略可能な列識別子。 column_alias が指定されていない場合、Databricks SQL が column_alias を生成します。

  • star_clause

    FROM句内のすべての参照可能な列、または FROM 句の特定のテーブル参照の列またはフィールドに名前を付ける短縮形。

-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3   4

-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  3   4

-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3

-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { "a" : 2 }

-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { }

-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  Error: EXCEPT_OVERLAPPING_COLUMNS