问题 单项选择题

第(30)~(35)题使用如下三个条件:
部门.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.SEIECT部门名,COINT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号:GROUP BY 部门名HAVING COUNT(*)>=10;ORDER BY COUNT(职工号)DESC

C.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号;GROUPBY部门名HAVING COUNT(*)>=10;ORDER BY 职工人数AS

D.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号;GROUP BY部门名HAVING COUNT(*)>=10;ORDER BY职工人数DESC

答案

参考答案:D

解析: 本题考查使用COUNT()函数来构造复杂查询,分组条件GROUP BY部门名 HAVIN COUNT(*)>10表示部门人数大于10人。另外可以用排除法求解,首先可以排除选项A和选项C,这两个选项中ORDER BY子句后的关键字是ASC表示升序,不符合题意。选项B的错误在于没有使用职工人数作为排序关键字。

单项选择题
单项选择题 B1型题