積集合では品名と価格をどう比べる?
ITパスポート試験 令和2年度10月 問73 / データベース › データ操作
過去問にチャレンジ
関係データベースにおいて,表Aと表Bの積集合演算を実行した結果はどれか。

- ア

- イ

- ウ

- エ

会話形式の解説
講師この問題では、積集合がどの行を取り出す演算かを確認しましょう。
受験者両方の表にある品名を探せばよいのでしょうか。価格も見る必要がありますか。
講師価格も見ます。積集合は、品名と価格がともに一致する行を取り出します。
受験者せんべいは両方とも250、チョコレートは両方とも150です。
講師その2行が共通しています。元の価格のまま並んでいる選択肢が正解のエです。
受験者ガムとどら焼きも入った4行の表は、二つの表を合わせた結果ですね。
講師はい。それは重複する行を一つにして集める和集合なので、アは違います。
受験者せんべいが500、チョコレートが300になっている表は、価格を足したのでしょうか。
講師そうです。イはほかの品名も含めて並べ、ウは共通する品名だけを残していますが、どちらも価格を合算しています。積集合では合算しません。
受験者品名だけを選んだり価格を計算したりせず、各列の値が一致する行をそのまま取り出すのですね。
講師そのとおりです。品名が同じでも価格が違えば別の行です。各列を照合すると判断しやすくなります。
まとめ
積集合は、二つの表の両方に存在する行を取り出す演算です。この問題では品名と価格の両方を比べるため、共通するのは「せんべい・250」と「チョコレート・150」です。二つの表の行を重複なく集める和集合や、価格を合算した結果とは区別します。
解答・解説
正解はエです
この問題のテーマ
関係データベースの積集合演算で、二つの表に共通する行を見つける問題です。
解き方の考え方
積集合は、表Aと表Bの両方にある行だけを取り出します。この問題では品名だけでなく価格も比べます。両方が一致するのは「せんべい・250」と「チョコレート・150」なので、答えはエです。
選択肢ごとの解説
- ×アアの「ガム・100」から「どら焼き・100」までの4行は、二つの表の行を重複なく集めた結果です。これは和集合であり、両方にある行だけを取り出す積集合ではありません。
- ×イイの「せんべい・500」と「チョコレート・300」は、両表にある同じ品名の価格を足した値です。積集合では価格を計算せず、共通する行を元の値のまま取り出します。
- ×ウウは共通する品名を残していますが、価格をそれぞれ合算しています。そのため「せんべい・500」と「チョコレート・300」は、表Aと表Bに共通する行ではありません。
- ○エエの「せんべい・250」と「チョコレート・150」は、品名と価格の両方が表Aと表Bで一致します。共通する2行だけを元の値で示しているので、積集合の結果に当たります。
補足
品名が同じでも、価格が異なれば同じ行とはいえません。選択肢を確認するときは、列ごとに値を照合すると判断しやすくなります。
POINT
- 積集合は、二つの表の両方に存在する行を取り出します。
- 行が共通するかは、品名と価格の両方で判断します。
- 積集合では数値を合算せず、行を元の値のまま取り出します。
- 二つの表の行を重複なく集める演算は和集合です。
