问题 单项选择题

(31)到(35)题使用如下数据表。

部门(部门号C(2)、部门名称C(10) )

职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资N(7,2) )

检索最少有5名职工的每个部门的职工基本工资的总额,正确的语句是()。

A. SELECT部门号,COUNT(*),SUM(基本工资)FROM职工;

HAVING COUNT(*)>=5

B. SELECT部门号,COUNT(*),SUM(基本工资)FROM职工;

GROUP BY基本工资HAVING COUNT(*)>=5

C. SELECT部门号,COUNT(*),SUM(基本工资)FROM职工;

GROUP BY部门号HAVING COUNT(*)>=5

D. SELECT部门号,COUNT(*),SUM(基本工资)FROM职工;

GROUP BY部门号WHERE COUNT(*)>=5

答案

参考答案:C

解析:

在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。

本题中先由GROUP BY子句按“部门号”对记录行进行分组:再执行COUNT()函数统计每组中有多少个记录,执行SUM()函数计算每个组的基本工资总和:最后执行HAVING子句,只有记录总数大于等于5的组才输出结果,即部门职工在5名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该部门的部门号、总人数和职工工资总和。

单项选择题 A1/A2型题
问答题 论述题