(31)到(35)题使用如下数据表。 部门(部门号C(2)、部门名称C(10) ) 职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资N(7,2) ) 检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的语句是( )。

admin2010-11-26  37

问题 (31)到(35)题使用如下数据表。
部门(部门号C(2)、部门名称C(10) )
职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资N(7,2) )
检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的语句是(  )。      

选项 A、SELECT部门名称,SUM(基本工资)FROM部门,职工;           WHERE职工,部门号=部门.部门号;           ORDER BY部门号
B、SELECT部门名称,SUM(基本工资)FROM部门,职工;           WHERE职工,部门号=部门.部门号;           GROUP BY部门号
C、SELECT部门名称,SUM(基本工资)FROM部门,职工;           WHERE职工.部门号=部门.部门号;           ORDRE BY职工.部门号
D、SELECT部门名称,SUM(基本工资)FROM部门,职工;           WHERE职工.部门号=部门.部门号;           GROUP BY职工.部门号

答案D

解析 进行SQL简单计算查询时,还可以加上GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
本题通过“GROUP BY职工.部门号”可以先将记录按“部门号”分组,然后再通过函数“SUM(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来
转载请注明原文地址:https://kaotiyun.com/show/Ruzp777K
0

最新回复(0)