问题 单项选择题

(31)到(35)题使用下列数据表。
“仓库”表 仓库号 所在地
WH2 北京
WH2 上海
WH3 广州
WH4 天津
“职工”表 职工号仓库号工资
E1 WH1 2100
E2 WH2 1500
E3 WH3 1350
E4 WH1 1850
E5 WH3 1900
E6 WH1 2000
E7 WH4 1450
E8 WH2 1200
E9 WH1 1600

求至少有4个职工的每个仓库的工资总和( )。

A.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; WHERE COUNT(*)>4

B.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 SET COUNT(*)>=4

C.SELECT 仓库号,COUNT(*),SUM (工资) FROM职工; GROUP BY 仓库号 HAVING COUNT(*)>=4

D.SELECT 仓库号,COINT(*),SUM (工资) FROM 职工; GROUP BY仓库号WHERE COUNT(*)>=4

答案

参考答案:C

解析: 本题中首先通过GROUP BY短语对表记录按“仓库号”字段分组,然后通过COUNT()函数统计每个组中所包含的记录数,即每个仓库中共有多少名职工,利用SUM()函数求每个仓库中职工的工资总和;最后限定输出仓库中至少有4名职工的记录,输出结果包括“仓库号”、统计的仓库人数和该仓库的职工工资总和。 在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVINO了句必须与GROUP BY短语同时使用。

多项选择题
选择题