テーブルの共通部分を選択するにはどうすれば良いの?
INTERSECTってどうやって使うの?
わかりやすく教えてほしい!
こういった疑問にこたえます。
エンジニアの僕がわかりやすく解説します。
INTERSECTの使い方
2つのレコードの共通部分を選択するにはINTERSECTを使います。
INTERSECTの構文はUNIONと同じです。
例えば、次のようなshohinテーブルとshohin2テーブルがあったとします。
shohin_mei | shohin_bunrui | kakaku |
Tシャツ | 衣服 | 1500 |
フライパン | キッチン用品 | 2000 |
鉛筆 | 事務用品 | 100 |
ボールペン | 事務用品 | 150 |
shohin_mei | shohin_bunrui | kakaku |
Tシャツ | 衣服 | 1500 |
まな板 | キッチン用品 | 700 |
包丁 | キッチン用品 | 1000 |
この2つのテーブルに共通するレコードのみ選択する場合、SQLは次のようになります。
SELECT shohin_mei, shohin_bunrui, kakaku
FROM shohin
INTERSECT
SELECT shohin_mei, shohin_bunrui, kakaku
FROM shohin2;
実行結果
shohin_mei | shohin_bunrui | kakaku |
Tシャツ | 衣服 | 1500 |
このように両方のテーブルに存在するTシャツのレコードだけ選択することができました。
INTERSECTの使い方まとめ
解説の内容をまとめます。
- INTERSECTは2つのテーブルの共通部分を選択するときに使う
- 構文はUNIONと同じ
以上、お疲れ様でした。
コメント