検索

[Oracle] データ検索 検索結果の統合SQL(UNION)

データの検索(検索結果を統合する)

重複データを除外した統合(UNION)

複数の検索結果から重複データを除外して抽出するには、UNIONを使用します。

SELECT 列1, 列2 ・・・ FROM テーブル1;
UNION
SELECT 列1, 列2 ・・・ FROM テーブル2;

それではサンプルを見てみましょう。
以下のようなteam1テーブル(上)、team2テーブル(下)があります。

emp_no name dept
A00001 荒木 太郎 A課
A00002 井端 次郎 B課
emp_no name dept
A00002 井端 次郎 B課
A00003 森野 三郎 C課

2つの検索結果から、重複データを除外して統合し抽出するためのSQLです。

上記を実行し、抽出された結果がこちらです。

emp_no name
A00001 荒木 太郎
A00002 井端 次郎
A00003 森野 三郎

重複データを除外して抽出されました。

 

重複データを含めた統合(UNION ALL)

複数の検索結果から重複データを含めて抽出するには、UNION ALLを使用します。

SELECT 列1, 列2 ・・・ FROM テーブル1;
UNION ALL
SELECT 列1, 列2 ・・・ FROM テーブル2;

それではサンプルを見てみましょう。
以下のようなteam1テーブル(上)、team2テーブル(下)があります。

emp_no name dept
A00001 荒木 太郎 A課
A00002 井端 次郎 B課
emp_no name dept
A00002 井端 次郎 B課
A00003 森野 三郎 C課

2つの検索結果から重複データを含めて統合し抽出するためのSQLです。

上記を実行し、抽出された結果がこちらです。

emp_no name
A00001 荒木 太郎
A00002 井端 次郎
A00002 井端 次郎
A00003 森野 三郎

重複データを含めて抽出されました。
 
なお、UNION、UNION ALLともに、統合する項目数、データ型が同じである必要があるので注意してください。
 
 
以上が、複数の検索結果を統合して抽出する「UNION」の使い方です。
ぜひ参考にしてみてください。