UNION構文は、複数のSELECT文の分析結果を結合するために使用されます。
構文形式
* | SELECT [列名(KEY)] FROM table1 UNION SELECT [列名(KEY)] FROM table2
各SELECT文の分析結果は、マージするために同じ数の列と同じフィールド型を持つ必要があります。
SELECT結果に重複行が含まれる場合、UNIONはデフォルトでそのうちの1行のみを保持します。すべてを保持する必要がある場合は、UNION ALLを使用する必要があります。
構文例
1列のみの2つのテーブルを結合します。1つ目のテーブルは1行のみで値は13です。2つ目のテーブルは2行あり、値はそれぞれ42と13です。重複行を結合します。
* | SELECT * FROM (VALUES 13)
UNION
SELECT * FROM (VALUES 42,13)
結果を返します:
1列のみの2つのテーブルを結合します。1つ目のテーブルは1行のみで値は13です。2つ目のテーブルは2行あり、値はそれぞれ42と13です。重複行は結合しません。
* | SELECT * FROM (VALUES 13)
UNION ALL
SELECT * FROM (VALUES 42,13)
結果を返します: