メインコンテンツまでスキップ
メインコンテンツまでスキップ

UNION 句

UNION を使用する際、明示的に UNION ALL または UNION DISTINCT を指定できます。

ALL または DISTINCT を指定しない場合、union_default_mode 設定に依存します。 UNION ALLUNION DISTINCT の違いは、UNION DISTINCT が結合結果に対して一意な変換を行うことであり、これは UNION ALL を含むサブクエリからの SELECT DISTINCT と同等です。

任意の数の SELECT クエリを結合するために UNION を使用できます。例:

結果のカラムは、そのインデックス(SELECT 内の順序)によって一致します。カラム名が一致しない場合、最終結果の名前は最初のクエリから取得されます。

クラスタリングに対して型変換が行われます。たとえば、結合する二つのクエリが互換性のある型の非 Nullable 及び Nullable タイプを持つ同じフィールドを持つ場合、結果の UNIONNullable タイプのフィールドになります。

UNION の一部であるクエリは丸括弧で囲むことができます。ORDER BYLIMIT は個別のクエリに適用され、最終結果には適用されません。最終結果に変換を適用する必要がある場合は、すべてのクエリを UNION でサブクエリに入れ、FROM 句内に配置できます。

UNION を使用して明示的に UNION ALL または UNION DISTINCT を指定しなかった場合、union_default_mode 設定を使用して結合モードを指定できます。設定値は ALLDISTINCT、または空文字列を指定できます。ただし、union_default_mode 設定が空文字列で UNION を使用すると例外がスローされます。次の例は、異なる値の設定に対するクエリの結果を示します。

クエリ:

結果:

クエリ:

結果:

UNION/UNION ALL/UNION DISTINCT の一部であるクエリは同時に実行でき、それらの結果を混ぜ合わせることができます。

関連情報