检索每个部门职工工资的总和,要求显示部门名称和工资,正确的命令是部门表(部门号N(4)、部门名称C(10))职工表(部门号N(4)、职工号C(4)、姓名C(8)、工资N(7,2))A.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY部门号B.SELECT 部门号,SUM(工资)FROM职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY职工表.部门号C.SELECT 部门号,SUM(工资)FROM 部门表,职

题目

检索每个部门职工工资的总和,要求显示部门名称和工资,正确的命令是

部门表(部门号N(4)、部门名称C(10))

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

A.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY部门号

B.SELECT 部门号,SUM(工资)FROM职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY职工表.部门号

C.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; ORDRE BY职工表.部门号

D.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY职工表.部门号


相似考题
更多“检索每个部门职工工资的总和,要求显示部门名称和工资,正确的命令是 部门表(部门号N(4)、部门名称C ”相关问题
  • 第1题:

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

    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是对查询结果进行排序的短语,没有分组的功能。

  • 第2题:

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

    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是对查询结果进行排序的短语,没有分组的功能。

  • 第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题使用下列数据表。

    部门(部门号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不支持此类型查询。

  • 第5题:

    设有“职工”表,表结构如下:

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

    检索最少有3名职工的每个部门的职工工资的总额( )。

    A)SELECT部门号,COUNT(﹡),SUM(工资)FROM职工;

    HAVING COUNT(﹡)﹥=3

    B)SELECT部门号,COUNT(﹡),SUM(1资)FROM职工;

    GROUP BY基本工资HAVING COUNT(﹡)>=3

    C)SELECT部门号,COUNT(﹡),SUM(1资)FROM职工;

    GROUP BY部门号HAVING COUNT(﹡)>=3

    D)SELECT部门号,COUNT(﹡),SUM(T资)FROM职工;

    GROUP BY部门号WHERE COUNT(﹡)>=3


    正确答案:C
    根据题意,本题应按照“部门号”分组, COUNT(*)>=3为限定分组的条件。在SQL语句中,分组使用GROUP BY子句,HAVING子句用来限定分组的条件。SUM函数用来求和, COUNT0函数用来计数。