
テーブルの共通部分を選択するにはどうすれば良いの?
INTERSECTってどうやって使うの?
わかりやすく教えてほしい!
こういった疑問にこたえます。
この記事を読めば
- テーブルの共通部分を選択できるようになる
- 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と同じ
以上、お疲れ様でした。


コメント