问题 单项选择题


阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】 使用如下三个条件:
部门.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的错误在于没有使用职工人数作为排序关键字。

填空题
问答题 计算题