ログイン
問題26

INTERSECT演算子で積集合を求めよう

INTERSECTは「交わる」という意味を持つ英単語です。 その意味の通り、INTERSECTは2つの検索結果で重複したものを指す演算子です。 つまり2つのSELECT文に共通する行を集めた集合のことです。

アイコン画像

問題26:INTERSECT演算子で積集合を求めよう

INTERSECT演算子を使って「家計簿」テーブルと「家計簿_過去分」テーブルの重複する費目、収入、支出のデータを表示させて下さい。

期待する画面を参考に命令文を書いていきましょう。

ブラウザのアイコン期待する画面

解答の見本画像

タグアイコン解答ソースコード

              USE ninjacode;
SELECT 費目, 収入, 支出 FROM 家計簿 
  INTERSECT
SELECT 費目, 収入, 支出 FROM 家計簿_過去分;
¥SQL¥
            

コメントのアイコン解説

共通するデータを集めた積集合を表示させるにはINTERSECT演算子を使用します。
構文はUNION、EXCEPTと同様に以下のように書いていきます。
SELECT 列名 FROM テーブル名①
INTERSECT
SELECT 列名 FROM テーブル名②

INTERSECTを使用する場合、UNION演算子と同様にテーブルの順番が変わっても影響はありません。
今回はどちらのテーブルにも共通して存在する4つの費目が積集合として表示されればOKです。
ログインして解答を見る

コメントのアイコン補足

ここまでで登場したUNION、EXCEPT、INTERSECT
3つの集合演算子はテーブルが複数に分かれた際に非常に役立ちます。

3つの異なる特徴をうまく取り扱う事で、効率よくデータを表示することができるので、この3つの集合演算子をしっかり覚えておきましょう。
SQLを学ぶなら現役エンジニア監修「甲賀コース」
キャンペーン

閉じる