INTERSECT は UNION コマンドと類似し、同様に二つのSQL 文の結果を処理するのに使われるコマンド。両者が異なるのは、 UNION は基本的に OR であり (設定された值が第一句又は第二句にあった場合、当該値が選び出されます)、 INTERSECT は AND に近いもの (設定された値が、第一句と第二句に存在する場合のみ、選び出されます)。 UNION は結合で、 INTERSECT は交差です。
INTERSECT のプログラミングは次のようになります。
[SQL 文 1]
INTERSECT
[SQL 文 2]
次のような二つのテーブルがあるとします。
Store_Information テーブル
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
Jan-05-1999 |
| San Diego |
$250 |
Jan-07-1999 |
| Los Angeles |
$300 |
Jan-08-1999 |
| Boston |
$700 |
Jan-08-1999 |
Internet_Sales テーブル
| Date |
Sales |
| Jan-07-1999 |
$250 |
| Jan-10-1999 |
$535 |
| Jan-11-1999 |
$320 |
| Jan-12-1999 |
$750 |
そして、どんな日に店の売上及びインターネット上の売上があるのか調べます。そこで、次のSQL 文が使えます。
SELECT Date FROM Store_Information
INTERSECT
SELECT Date FROM Internet_Sales
の結果ができます。
INTERSECT コマンドの元に、異なる値が一回しか示されないことに注意してください。