问答题
该公司各类商品的仓库管理数据库的部分关系模式如下。 仓库(仓库号,面积,负责人,电话) 原材料(编号,名称,数量,储备量,仓库号) 要求一种原材料只能存放在同一个仓库中。 将下面的SQL语句补充完整,完成“查询存放原材料数量最多的仓库号”的功能。 SELBCT仓库号 FROM ______ ______ ______ SUM(数量)>=ANY( SELECT ______ FROM ______ GROUP BY ______;
【正确答案】原材料 GROUPBY仓库号 HAVING SUM(数量) 原材料 仓库号
【答案解析】结合常识可知,属性“仓库号”可以作为“仓库”关系模式的主键。同理,由“一种原材料只能存放在同一仓库中”等信息,结合常识可得,属性“编号”可以作为“原材料”关系模式的主键,属性“仓库号”是其外键。 完成“查询存放原材料数量最多的仓库号”功能的基本思路是:根据原材料表,按照“仓库号”分组,组内的记录对“数量”求和,分组求和得到的最大值对应的仓库号即为所求。因此(10)空缺处应填入“原材料”。 (11)~(15)空缺处所在的子查询完成各仓库存储数量的求和,外部查询输出组内“数量”求和为最大值的仓库号。该子查询语句的完整内容为“HAVING SUM(数量)>=ANY(SELECT SUM(数量) FROM 原材料 GROUP BY仓库号); ”。