適用対象: Databricks SQL
Databricks ランタイム
式、集計、重複除去の実行など、サブクエリから返される列を収集します。
構文
SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]
パラメーター
-
ヒントは、Azure Databricks オプティマイザーがより適切な計画上の意思決定を行うのに役立ちます。 Azure Databricks では、結合戦略の選択とデータの再パーティション分割に影響するヒントがサポートされています。
すべての
テーブル参照から一致するすべての行を選択します。 既定で有効になっています。
個別
結果の重複を削除した後、テーブル参照から一致するすべての行を選択します。
named_expression
省略可能な名前が割り当てられた式。
-
値に評価される 1 つ以上の値、演算子、および SQL 関数の組み合わせ。
-
式の結果に名前を付ける省略可能な列識別子。
column_alias
が指定されていない場合、Databricks SQL がcolumn_alias
を生成します。
-
-
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