トップDML選択 (集合演算子) ≫ 複数の検索結果の共通するデータを取得する(積集合)

複数の検索結果の共通するデータを取得する(積集合)

複数の検索結果の共通するデータを取得するにはINTERSECT句を使用します.INTERSECT句は検索結果の積集合を求める構文です.なお,AccessとMySQLは残念ながらINTERSECT句をサポートしていません.

積集合

INTERSECT

INTERSECT句を用いたSQLの基本的な書き方は以下とおりです.

SELECT 列名1, 列名2, ... FROM テーブル名
INTERSECT
SELECT 列名1, 列名2, ... FROM テーブル名

上記では簡単のためWHERE句などは省略していますが,もちろん通常のSELECT文で使用可能な構文はINTERSECT句で検索結果を統合する場合にも使用可能です.

SQL サンプル

例として以下の2つのテーブルの共通するデータを取得します.

従業員

従業員コード従業員名
A0001チャーリー
A0002ペパーミント

受給者

受給者コード受給者名
A0001チャーリー
B0001スヌーピー
B0002ウッドストック

SQL

SELECT * FROM 従業員
INTERSECT
SELECT * FROM 受給者

結果

従業員コード従業員名
A0001チャーリー

注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.