UNION / INTERSECT / EXCEPT

それぞれのSELECT結果のカラム名、カラム数、型すべて同じでなければならない。
また、重複しているレコードがある場合は1つにまとめられます。

■2つ以上のSELECT結果をまとめる
UNION

SELECT * FROM [TableName1] UNION SELECT * FROM [TableName2];

■2つ以上のSELECT結果の共通部分を抽出
INTERSECT

SELECT * FROM [TableName1] INTERSECT SELECT * FROM [TableName2];

■2つ以上のSELECT結果の共通部分以外を抽出
EXCEPT

SELECT * FROM [TableName1] EXCEPT SELECT * FROM [TableName2];


===
あえて重複を許可したい場合は下記のようにALLを使用。
SELECT * FROM [TableName1] UNION ALL SELECT * FROM [TableName2];



戻る | CGI'sトップへ戻る