マナビングITパスポート

積集合では品名と価格をどう比べる?

ITパスポート試験 令和2年度10月 問73 / データベース › データ操作

過去問にチャレンジ

令和2年度10月 問73

関係データベースにおいて,表Aと表Bの積集合演算を実行した結果はどれか。

令和2年度10月 問73の図
  1. ア
    令和2年度10月 問73の図(選択肢ア)
  2. イ
    令和2年度10月 問73の図(選択肢イ)
  3. ウ
    令和2年度10月 問73の図(選択肢ウ)
  4. エ
    令和2年度10月 問73の図(選択肢エ)

会話形式の解説

講師講師
この問題では、積集合がどの行を取り出す演算かを確認しましょう。
受験者受験者
両方の表にある品名を探せばよいのでしょうか。価格も見る必要がありますか。
講師講師
価格も見ます。積集合は、品名と価格がともに一致する行を取り出します。
受験者受験者
せんべいは両方とも250、チョコレートは両方とも150です。
講師講師
その2行が共通しています。元の価格のまま並んでいる選択肢が正解のエです。
受験者受験者
ガムとどら焼きも入った4行の表は、二つの表を合わせた結果ですね。
講師講師
はい。それは重複する行を一つにして集める和集合なので、アは違います。
受験者受験者
せんべいが500、チョコレートが300になっている表は、価格を足したのでしょうか。
講師講師
そうです。イはほかの品名も含めて並べ、ウは共通する品名だけを残していますが、どちらも価格を合算しています。積集合では合算しません。
受験者受験者
品名だけを選んだり価格を計算したりせず、各列の値が一致する行をそのまま取り出すのですね。
講師講師
そのとおりです。品名が同じでも価格が違えば別の行です。各列を照合すると判断しやすくなります。

まとめ

積集合は、二つの表の両方に存在する行を取り出す演算です。この問題では品名と価格の両方を比べるため、共通するのは「せんべい・250」と「チョコレート・150」です。二つの表の行を重複なく集める和集合や、価格を合算した結果とは区別します。

解答・解説

正解はエです

この問題のテーマ

関係データベースの積集合演算で、二つの表に共通する行を見つける問題です。

解き方の考え方

積集合は、表Aと表Bの両方にある行だけを取り出します。この問題では品名だけでなく価格も比べます。両方が一致するのは「せんべい・250」と「チョコレート・150」なので、答えはエです。

選択肢ごとの解説

  1. ×ア
    アの「ガム・100」から「どら焼き・100」までの4行は、二つの表の行を重複なく集めた結果です。これは和集合であり、両方にある行だけを取り出す積集合ではありません。
  2. ×イ
    イの「せんべい・500」と「チョコレート・300」は、両表にある同じ品名の価格を足した値です。積集合では価格を計算せず、共通する行を元の値のまま取り出します。
  3. ×ウ
    ウは共通する品名を残していますが、価格をそれぞれ合算しています。そのため「せんべい・500」と「チョコレート・300」は、表Aと表Bに共通する行ではありません。
  4. ○エ
    エの「せんべい・250」と「チョコレート・150」は、品名と価格の両方が表Aと表Bで一致します。共通する2行だけを元の値で示しているので、積集合の結果に当たります。

補足

品名が同じでも、価格が異なれば同じ行とはいえません。選択肢を確認するときは、列ごとに値を照合すると判断しやすくなります。

POINT

  • 積集合は、二つの表の両方に存在する行を取り出します。
  • 行が共通するかは、品名と価格の両方で判断します。
  • 積集合では数値を合算せず、行を元の値のまま取り出します。
  • 二つの表の行を重複なく集める演算は和集合です。

※出典:令和2年度10月 ITパスポート試験 問73(一部改変)