データの検索(複数の検索結果の重複検索)
重複データを抽出する
複数の検索結果から重複したデータを抽出するには、INTERSECTを使用します。
SELECT 列1, 列2 ・・・ FROM テーブル1;
INTERSECT
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です。
1 2 3 |
SELECT emp_no, name FROM team1 INTERSECT SELECT emp_no, name FROM team2; |
上記を実行し、抽出された結果がこちらです。
emp_no | name |
---|---|
A00002 | 井端 次郎 |
2つの検索結果の重複データが抽出されました。
なお、2つの検索結果は、項目数、データ型が同じである必要があるので注意してください。
以上が、複数の検索結果の重複を抽出する「INTERSECT」の使い方です。
ぜひ参考にしてみてください。