2つのSELECT結果の重複分を抽出するには、INTERSECTを使用します。
INTERSECTは集合演算子のひとつです。
構文
- (2つのSELECT結果の重複分を抽出する)
- <SELECT文1> INTERSECT <SELECT文2>
SELECT文1の結果とSELECT文2の結果で重複したものが抽出されます。
(SELECT文1とSELECT文2で片方にしか存在しない結果が除かれる)
サンプル
CD | NAME |
---|---|
101 | 鈴木 |
102 | 佐藤 |
103 | 田中 |
CD | NAME |
---|---|
104 | 山田 |
105 | 高橋 |
101 | 鈴木 |
例)M_USER01とM_USER02の重複分を求める
1 2 3 |
SELECT cd, name FROM m_user01 INTERSECT SELECT cd, name FROM m_user02; |
- 結果
- CD NAME ---- ------ 101 鈴木
101の鈴木さんは重複しているので、抽出対象となります。
メモ
- INTERSECTでつなぐSELECT結果は、型と個数が合っている必要があります。
- 差分を取得したい場合には、以下ページをご覧ください。
→ [SQL] 2つのSELECT結果の差分抽出する(MINUS)