单选题 给定供应关系SPJ(供应商号,零件号,工程号,数量),查询至少用了3家不同供应商(包含3家)供应的零件的工程,输出其工程号,并按工程号降序排列,以下SQL语句正确的是______。
A.SELECT工程号FROM SPJ
GROUP BY工程号
HAVING COUNT(DISTINCT(供应商号))>2
ORDER BY工程号 DESC
B.SELECT 工程号 FROM SPJ
GROUP BY工程号DESC
WHERE COUNT(供应商号)>2
C.SELECT 工程号FROM SPJ
ORDERBY 工程号
HAVING COUNT供应商号)>2
D.SELECT 工程号FROM SPJ
ORDERBY 工程号
WriERE COUNT (DISTINCT(供应商号))>2

【正确答案】 A
【答案解析】[解析] 查询至少使用了3家不同供应商供应的零件的工程,首先需要按照工程号进行分组,再使用HAVING子句对分组结果进行过滤。由于同一个工程中提供零件的供应商号可能重复,因此需要用DISTINCT关键字去掉重复的供应商号,然后用聚合函数COUNT进行计数。要求结果按工程号降序排列,因此需要增加“ORDER BY工程号DESC”子句。