SQLには複数のテーブルのデータを1つにまとめる集合演算子があります。
UNION演算子
UNION演算子の構文は以下のとおりです。
select 列名 from テーブル名 UNION [ALL] select 列名 from テーブル名
UNION演算子は指定した複数のテーブルを縦方向に1つにまとめます。
2つのSELECT文の間にUNION演算子で記載します。
UNION演算子を2つのSELECT文の列数を揃える必要があります。
ALLオプション
UNION演算子には「ALL」というオプション設定があります。
ALLオプションを記載すると指定した2つのSELECT文のデータが全て抽出されます。
ALLオプションを記載しない場合、指定した2つのテーブルに同一内容の行があった場合、重複分は抽出されません。
またALLオプションを指定しない場合、一番左側の列を基準にしてSortがかかります。
UNION演算子使用例
同一フォーマットのシートを1つにまとめる。
同一フォーマットのため上述した、列数・データ型に関しては問題なし。
ALLオプションを指定した場合、同内容の行が存在しても全てを抽出する。
ALLオプションを使用しない場合は重複したデータは抽出されない。
また一番左側の列をキーにして昇順に並び替わる。
異なるデータでも同じ列数で並んでいれば1つにまとめることが可能。
データの列数が異なるとエラーになる。