阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】 使用如下三个条件: 部门.DBF:部门号C(8),部门名C(12),负责人C(6),电话C(16) 职工.DBF;部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期 D 工资.DBF:职工号C(10),基本工资N(8.2),津贴(8.2),奖金N(8.2),扣除N(8.2) |
查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是 ______。
A.SELECT 部门名,COUNT (职工号)AS 职工人数; FROM 部门,职工 WHERE 部门. 部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT (职工号) ASC
B.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT (职工号) DESC
C.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY 职工人数 ASC
D.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门. 部门号= 职工.部门号; GROUP BY 部门名 HAVING COUNT (*)>=10; ORDER BY 职工号人数 DESC
参考答案:D
解析: 本小题考查使用COUNT()函数来构造复杂查询,分组条件GROUP BY 部门名 HAVING COUNT(*)>10表示部门人数大于10人。另外可以用排除法求解,首先可以排除选项A和选项C,这两个选项中ORDER BY子句后的关键字是ASC表示升序,不符合题意。选项B的错误在于没有使用职工人数作为排序关键字。