itgle.com

检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的命令是( )。A.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDER BY 部门号B.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; GROUP BY 部门号C.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDRE BY 职工.部门号D.

题目

检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的命令是( )。

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(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来自哪个数据表,否则系统出现“部门号不唯一”的错误提示;ORDER BY是对查询结果进行排序的短语,没有分组的功能。
更多“检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的命令是( )。A.SELECT 部门 ”相关问题
  • 第1题:

    检索最少有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名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该部门的部门号、总人数和职工工资总和。

  • 第2题:

    以下5题使用下列数据表。

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

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

    检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的命令是( )。

    A.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT 基本工资 FROM 职工 WHERE 部门号="11")

    B.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT 基本工资 FROM 职工 WHERE 部门号="11")

    C.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT MAX(基本工资) FROM 职工 WHERE 部门号="11")

    D.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT MIN(基本工资) FROM 职工 WHERE 部门号="11")


    正确答案:B
    解析:在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:表达式>比较运算符>[ANY|ALL|SOME](子查询)其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。本题中要求检索有职工的基本工资大于或等于“11”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“11”部门中所有职工的工资,因此要使用ALL短语。选项C)和D)的属于语法错误,SQL不支持此类型查询。

  • 第3题:

    有如下的数据表: 部门(部门号, 部门名称) 职工(部门号, 职工号, 姓名, 基本工资) 检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的语句是______。

    A.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY (SELECT 基本工资 FROM 职工 WHERE 部门号='11')

    B.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL (SELECT 基本工资 FROM 职工 WHERE 部门号='11')

    C.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY (SELECT MAX(基本工资) FROM 职工 WHERE 部门号='11')

    D.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL (SELECT MIN(基本工资) FROM 职工 WHERE 部门号='11')


    C C。【解析】本题考查了SQL语句的功能。目的是在商品表中按部门号进行分组,分组后从每个组中查询出单价和数量乘积最大的记录。

  • 第4题:

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

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

    B.SELECT部门号,COUNT(*),SUM(基本工资)FROM职工 GROUP BY基本工资HAVING COUNT(*)>=5

    C.SELECT部门号,COUNT(*).SUM(基本工资)FRM职工 GROUP BY部门号HAVING COUN1、(*)>=5

    D.SELECT部门号,COUNT(*),SUM(基本工资)FRM职工 GROUP BY部门号WHERE COUNT(*)>=5


    正确答案:C
    C。【解析】在分组与计算查询语句中,使用HAV—ING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUPBY短语同时使用。本题中先由GROUPBY子句按“部门号”对记录行进行分组;再执行COUNT函数统计每组中有多少个记录,执行SUM函数计算每个组的基本工资总和;最后执行HAVING子句,只有记录总数大于等于5的组才输出结果,即部门职工在5名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该部门的部门号、总人数和职工工资总和。

  • 第5题:

    检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”.正确的语句是( )。

    A.SELECT部门名称,SUM(基本工资)FR0M部门, 职工 WHERE职工.部门号=部门.部门号 ORDER BY部门号

    B.SELECT部门名称,SUM(基本工资)FROM部门, 职1:WHERE职工.部门号=部门.部门号 GROUP BY部门号

    C.SELECT部门名称,SUM(基本工资)FROM部门,职工 WHERE职工部门号=部门.部门号 0RDRE BY职工部门号

    D.SELECT部门名称,SUM(基本工资)FROM部门, 职工 WHERE职工.部门号=部门.部门号 GROUP BY职工.部门号


    正确答案:D
    D。【解析】进行SQL简单计算查询时,还可以加上GROUPBY子句进行分组计算查询。通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GRUPBY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUPBY子句一起使用时,计算函数的范围变为每组所有的记录。本题通过“GROUPBY职工.部门号”可以先将记录按“部门号”分组,然后再通过函数“SUM(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来自哪个数据表,否则系统出现“部门号不唯一”的错误提示;0RDERBY是对查询结果进行排序的短语,没有分组的功能。