问题
单项选择题
给定供应关系SPJ(供应商号,零件号,工程号,数量),查询至少供应了3项工程 (包含3项)的供应商,输出其供应商号和供应零件数量的总和,并按供应商号降序排列。 SELECT供应商号,SUM(数量)FROM SPJ
()
()
();
第三空为()。
A.ORDER BY供应商号DESC
B.GROUP BY供应商号DESC
C.ORDER BY供应商号
D.GROUP BY供应商号
答案
参考答案:A
解析:
[分析]:
本题考查应试者对SQL语言的掌握程度。
试题第一空正确的答案是选项D,因为根据题意查询至少供应了3项工程(包含3项)的供应商,应该按照供应商号分组,而且应该加上条件工程号的数目。但是需要注意的是,一个供应商可能为同一个项目供应了多种零件,因此,在统计工程项目数的时候需要加上DISTINCT,以避免重复统计导致错误的结果。
假如按供应商号Sno=’S1’分组,结果如表1所示
从表1可以看出,如果不加DISTINCT,统计的数为7,而加了DISTINCT,统计的数是3。故试题第二空正确的答案是选项A。
由于题目要求按供应商号降序排列,所以应采用“ORDER BY供应商号DESC”语句。这样试题第三空正确的答案是选项A。