问题
单项选择题
在关系代数运算中,关系S、SP和R如下表所示。若先 (33) ,则可以从S和SP获得R。其对应的关系表达式为 (34) 。如下的SQL语句可以查询销售总量大于1000的部门名。
(35)处填()。
A.部门号 where sum(销售量)>1000
B.部门号 having sum(销售量)>1000
C.商品号 where sum(销售量)>1000
D.商品号 having sum(销售量)>1000
答案
参考答案:B
解析:
[分析]:本题考查的是关系数据库的关系代数查询语言和SQL查询语言。
试题(33)分析:关系R包含的是"家电部"销售的商品号和销售量,这些信息来源于关系S和SP,需要对这两个关系进行连接运算。 对于答案A:结果中包含部门号,不正确。 对于答案C、D:笛卡儿积会产生无意义的元组,不正确。 本题正确答案为B:通过选择运算取得"家电部"关系,与SP自然连接,投影用于去除部门号。
试题(34)正确答案为C。 对于答案A:结果中包含部门号,不正确。 对于答案B:结果中包含的是"部门号","商品号","销售量",不正确。 对于答案D:使用笛卡儿积会产生无意义的元组,不正确。
试题(35)正确答案为B。查询销售总量大于1000的部门名,需要根据部门号进行分组,在组内使用集函数sum统计每个部门的销售总量。对分组进行选择使用having短语,不能使用where子句,后者作用于整个表或视图。