跳到正文

令和2年度 ITパスポート試験 問73

这道题的解析和你的作答记录。

問73
頻出度★★☆

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

品名価格
ガム100
せんべい250
チョコレート150

表B

品名価格
せんべい250
チョコレート150
どら焼き100
  • 品名価格
    ガム100
    せんべい250
    チョコレート150
    どら焼き100
  • 品名価格
    ガム100
    せんべい500
    チョコレート300
    どら焼き100
  • 品名価格
    せんべい500
    チョコレート300
  • 品名価格
    せんべい250
    チョコレート150
出典 令和2年度 ITパスポート試験 問73
解説

問 73

  • 错误ア

    这是把口香糖、仙贝、巧克力、铜锣烧全部4行汇集在一起的表,属于把出现在两个表中任一个表里的行合并起来的并集(合并)结果。它不是只保留共同行的交集,所以错误。

  • 错误イ

    它不仅保留了全部4行,还把共同的仙贝价格合算成500、巧克力合算成300。集合运算只处理行的集合,不会对价格做加法。无论是增加行的方式还是对价格的处理都是错误的。

  • 错误ウ

    能选出共同的品名(仙贝、巧克力)这一点接近交集,但它把价格合算成仙贝500、巧克力300。交集要求包含价格在内的整行完全一致,而且值也应保持原样,所以错误。

  • エ

    正解 交集(公共集合)运算是针对列构成相同的两个表,只取出「在两个表中都共同存在的行」的集合运算。将表A和表B逐行比对,行的值(品名与价格的组合)完全一致的只有仙贝/250和巧克力/150这2行。只在表A中的口香糖/100,以及只在表B中的铜锣烧/100,因为不是共同的行,所以不被包含。因此结果是由仙贝/250和巧克力/150这2行组成的表,正确答案是エ。还要注意价格保持原来的值不变。

ここがポイント
  • 关系数据库的集合运算:交集只保留列构成相同的两个表的共同行(并集保留至少存在于其中一个表的全部行,差集保留只存在于其中一个表的行)。
  • 集合运算是处理行(元组)集合的操作,不会对价格等数值进行加法或运算,被选中的行的值保持原样。
用語
解答問73エ
练这一题

作答记录