给定供应关系SPJ(供应商号,零件号,工程号,数量),查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列。 SELECT 工程号,(53) FROM SPJ GROUPBY 工程号 (54) O

admin2008-08-01  17

问题 给定供应关系SPJ(供应商号,零件号,工程号,数量),查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列。
   SELECT  工程号,(53)  FROM  SPJ
   GROUPBY 工程号
   (54)
   ORDER BY 工程号 DESC;

选项 A、HAVING COUNT(DISTINCT(供应商号))>2
B、Where COUNT(供应商号)>2
C、HAVING(DISTINCT(供应商号))>2
D、Where 供应商号 2

答案A

解析 本题考查SQL语言。
   试题(53)正确的答案是选项B,因为SQL提供可为关系和属性重新命名的机制,这是通过使用具有如下形式的as子句来实现的。
   Old-name as new-name
   as子句即可出现在select子句,也可出现在from子句中。显然选项B满足上述规则;
试题(54)正确的答案是选项A,因为根据题意“某工程至少用了3家供应商(包含3家)供应的零件”,应该按照工程号分组,而且应该加上条件供应商的数目。但是需要注意的是,一个工程项目可能用了同一个供应商的多种零件,因此,在统计供应商数的时候需要加上DISTINCT,以避免重复统计导致错误的结果。
   假如按工程号JNO=’J1’分组,结果如下表所示。
   
   从上表可以看出,如果不加DISTINCT,统计的数为7;而加了DISTINCT,统计的数是5。
转载请注明原文地址:https://kaotiyun.com/show/0IxZ777K
0

相关试题推荐
最新回复(0)