戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2020年 秋期 73


問題文

関係データベースにおいて、表Aと表Bの積集合演算を実行した結果はどれか。
ITパスポート 2020年 秋期  問73の問題画像ITパスポート 2020年 秋期  問73の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

関係データベースの積集合演算【ITパスポート 解説】

正解の理由

関係データベース(relational database:表同士の関係でデータを扱う方式)における積集合(intersection:2つの集合の「両方に含まれる要素」だけを取り出す演算)は、両方の表で完全に同じ行(すべての列の値が一致する行)だけを結果に残します
図の表Aと表Bを比べると、「せんべい/250」と「チョコレート/150」が両方に同じ(品名と価格の両方が一致)で存在します。したがって、積集合の結果はこれら2行だけになります。これを表している選択肢が です。

解法ステップ

  1. 表Aと表Bの全行を、それぞれ「品名」と「価格」の組として一覧にする。
    • 表A: (ガム,100)、(せんべい,250)、(チョコレート,150)
    • 表B: (せんべい,250)、(チョコレート,150)、(どら焼き,100)
  2. それぞれの組を比較して、両方に存在する組を見つける。
    • 共通しているのは (せんべい,250) と (チョコレート,150)。
  3. その共通行だけを結果表にする。これが積集合の結果。

選択肢別の誤答解説

  • ア:アは両方の表の行を全部合わせたような表(和集合や結合に近い)になっており、積集合(共通する行だけ)とは異なります。アには片方にしかない「ガム/100」や「どら焼き/100」も入っています。
  • イ:イは価格が異なる行(せんべいが500、チョコレートが300)を含んでいます。品名が同じでも価格が一致しなければ「行が同じ」とは見なされないため、積集合には入りません。
  • ウ:ウは価格が両方の表の値と異なっている(せんべい500、チョコ300)ので、表Aや表Bのどちらとも完全一致していません。よって誤りです。
  • エ:は (せんべい,250) と (チョコレート,150) のみを含む表で、両方の表に共通する完全一致の行だけになっているため正しい選択です。

よくある誤解

  1. 「品名が一致すれば積集合に入る」
    • 誤りです。積集合は行全体(ここでは「品名」と「価格」の両方)が一致していることが必要です。片方の列だけ一致していても含まれません。
  2. 「積集合は重複をそのまま残す」
    • 一般的な集合演算(SQLのINTERSECT など)は重複を排除します。重複を残す特殊なバージョン(INTERSECT ALL)を除き、結果は一意な行の集合になります。

補足コラム

  • SQLでの表現例(標準SQL):
SELECT 品名, 価格 FROM 表A
INTERSECT
SELECT 品名, 価格 FROM 表B;
このSQLは、表Aと表Bの両方に存在する行だけを返します。データベースによってはINTERSECTをサポートしていない場合があるので、その場合は内部結合(JOIN)を使って同等の結果を作ることもできますが、JOINは目的や条件に注意が必要です(JOINは列の結合なので、重複や条件により結果が異なることがあります)。
  • 実務的な視点:価格が更新された場合などは「同じ商品でも行が一致しない」ため、積集合で共通と判定されなくなります。比較基準(どの列を揃えるか)は明確にしておくことが重要です。

FAQ

Q1. 「品名だけが一致すればいい」と言う場合はどうする?
A1. その場合は品名だけを比較キーにして集計や結合を行います。SQLでは例えば内部結合(INNER JOIN)で品名をキーに結合して、価格が違う行も一緒に見る(価格の差分を確認する)ことができます。
Q2. 重複する同じ行が複数あるときは?
A2. 標準的な集合演算(INTERSECT)は重複を排除します。同じ行が複数あっても結果は一意にまとめられます。重複数を保持したいなら INTERSECT ALL のような機能があるか確認します(DBによりサポート状況が異なります)。
Q3. 行の順序は結果に影響しますか?
A3. 集合演算は「集合」を扱うため順序は意味を持ちません。表示上の順序は別に指定する必要があります(ORDER BY)。

関連キーワード: 関係データベース、集合演算、INTERSECT、行比較、重複排除、内部結合、SQL
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について