设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5 种商品或者部门总销售数大于2000 的部门号、部门名及平均销售数的SQL 语句如下:SELECT 部门号,部门名,AVG(销售数)AS 平均销售数FROM emp-salesGROUP BY ( )HAVING(请作答此空)OR( );A.COUNT(商品编号)>5 B.COUNT(商品编号)>=5 C.COUNT(DISTINCT 部门号))>=5 D.COUNT(DISTINCT 部门号)>5

题目
设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5 种商品或者部门总销售数大于2000 的部门号、部门名及平均销售数的SQL 语句如下:SELECT 部门号,部门名,AVG(销售数)AS 平均销售数FROM emp-salesGROUP BY ( )HAVING(请作答此空)OR( );

A.COUNT(商品编号)>5
B.COUNT(商品编号)>=5
C.COUNT(DISTINCT 部门号))>=5
D.COUNT(DISTINCT 部门号)>5

相似考题
更多“设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5 种商品或者部门总销售数大于2000 的部门号、部门名及平均销售数的SQL 语句如下:SELECT 部门号,部门名,AVG(销售数)AS 平均销售数FROM emp-salesGROUP BY ( )HAVING(请作答此空)OR( );”相关问题
  • 第1题:

    有"部门表"和"商品表"的内容如下:

    部门.dbf:部门号C(8),部门名C(12),负责人C(6),电话C(16)

    职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D

    查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是

    A.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT(职工号) ASC

    B.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT(职工号) DESC

    C.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10 ORDER BY职工人数ASC

    D.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10 ORDER BY 职工人数 DESC


    正确答案:D
    解析:在SQL SELECT子句中可以包含算术表达式或函数,利用AS可以为它们重新定义字段名,但它们并不存储在表内,因此被称为虚字段。对指定的字段进行排序,应使用重新定义的字段名,对查询结果进行降序排序时,还应使用关键字DESC。

  • 第2题:

    SQL语句 SELECT部门表.部门号,部门名称,SUM(单价*数量); FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门号 查询结果是

    A.各部门商品数量合计

    B.各部门商品金额合计

    C.所有商品金额合计

    D.各部门商品金额平均值


    正确答案:B
    解析:该语句利用SUM()函数在商品表中查询各部门商品的金额合计,该题涉及多表查询,其执行过程是,从部门表中选取部门号和部门名称以及单价和数量字段,乘积后求和,查询出的记录同时要满足部门号字段和商品表中的部门号相等。GROUP BY后的分组字段是部门号,因此它计算的是各个部门商品金额的合计。

  • 第3题:

    查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的命令是A)SELECT部门名,MIN(出生日期)FROM部门JOIN职工;ON部门.部门号=职工.部门号GROUP BY部门名B)SELECT部门名,MAX(出生日期)FROM部门JOIN职工;ON部门.部门号=职工.部门号GROUP BY部门名C) SELECT部门名,MIN(出生日期)FROM部门JOIN职工;WHERE部门.部门号=职工.部门号GROUP BY部门名D) SELECT部门名,MAX(出生日期)FROM部门JOIN职工;WHERE部门.部门号=职工.部门号GROUP BY部门名


    正确答案:A
    使用函数min()对日期型数据进行运算,需理解表达式的含义。表达式min(出生日期)表示年龄最长,因此可以首先排除选项B和选项D选项C的错误在于谁普误的使用了连接子句中的关键字,JOIN表示连接,与之配合使用的关键字应该是ON,用来表示连接的条件,因此选项A为正确答案。

  • 第4题:

    SQL语句: SELECT部门表.部门号,部门名称,SUM(单价*数 量) FROM部门表,商品表 WHERE部门表.部门号一商品表.部门号 GROUP BY部门表.部门号 查询结果是( )。

    A.各部门商品数量合计

    B.各部门商品金额合计

    C.所有商品金额合计

    D.各部门商品金额平均值


    正确答案:B
    B。【解析】本题SQL语句的作用是从部门表中选取部门号、部门名称、单价与数量的乘积,查询的同时满足部门号字段和商品表中的部门号字段相等。GROUPBY后的分组字段是部门号,所以此题查询的结果是各个部门商品金额的总和。

  • 第5题:

    以下5题使用如下表的数据: 部门表 [*]

    SQL语句 SELECT部门号,MAX(单价*数量)FROM商品表GROUP BY部门号 查询结果有几条记录?


    正确答案:C
    本题中SQL语句的功能是:在商品表中按部门号进行分组,分组后从每个组中查询出单价和数量乘积最大的记录,从原始表中可以看出,表中有3个部门号,所以该SQL执行后应该有3条记录。

  • 第6题:

    设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句如下: SELECT部门号,部门名,AVG(销售数)AS平均销售数 FROM emp-sales GROUP BY ( ) HAVING ( ) OR ( );

    A.部门号 B.部门名 C.商品编号 D.销售数A.COUNT(商品编号)>5 B.COUNT(商品编号)>=5C.COUNT(DISTINCT部门号)>=5 D.COUNT(DISTINCT部门号)>5A.SUM(销售数)>2000 B.SUM(销售数)>=2000C.SUM(‘销售数’)>2000 D.SUM(‘销售数’)>=2000


    正确答案:A,B,A

  • 第7题:

    设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句如下:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY( )HAVING(请作答此空) OR ( );

    A.COUNT(商品编号)>5
    B.COUNT(商品编号)>=5
    C.COUNT(DISTINCT部门号)>=5
    D.COUNT(DISTINCT部门号)>5

    答案:B
    解析:
    本题考察数据库SQL基础知识。要查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句为:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY部门号HAVING COUNT(商品编号)>=5 OR SUM(‘销售数’)>2000

  • 第8题:

    设有一个员工关系EMP(员工号,姓名,部门名,职位,薪资),若需查询不同部门中担任"项目主管"的员工的平均薪资,则相应的SELECT语句为:

    SELECT部门名,AVG(薪资) AS平均薪资 FROM EMP GROUP BY (请作答此空) HAVING ( )

    将员工号为"10058"、姓名为"黄晓华"、部门名为"开发部"的元组插入EMP关系中的SQL语句为:Insert ( )

    A.员工号
    B.姓名
    C.部门名
    D.薪资

    答案:C
    解析:
    本题考查对SQL语言的掌握程度。
    根据题意,查询不同部门中担任"项目主管"的职工的平均薪资,需要先按"部门名"进行分组,然后再按条件职位='项目主管'进行选取,因此正确的SELECT语句如下:
    SELECT部门名,AVG(薪资) AS平均薪资
    FROM EMP
    GROUP BY部门名
    HAVING职位='项目主管'
    第3小题正确的答案是选项B,因为插入语句的基本格式如下:
    INSERT INTO 基本表名(字段名[,字段名]...)
    VALUES(常量[,常量]...);查询语句
    从上可见,选项C和D显然是不正确的。选项A也是不正确的,因为按照SELECT语句的语法,字符串插入时,需要用单引号括起,可在选项A中"黄晓华"和"研发部"明显是字符串,但是却没有用单引号括起。

  • 第9题:

    某企业部门关系模式Dept(部门号,部门名,负责人工号,任职时间),员工关系模式EMP(员工号,姓名,年龄,月薪资,部门号,电话,办公室)。部门和员工关系的外键分别是( )。查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL查询语句如下:SELECT员工号,姓名,部门名,月薪资FROM EMP Y,DeptWHERE(请作答此空)AND月薪资=(SELECT Max(月薪资)FROM EMP Z WHERE( )

    A.Y.部门号=Dept.部门号
    B.EMP.部门号=Dept.部门号
    C.Y.员工号=Dept.负责人工号
    D.EMP.部门号=Dept.负责人工号

    答案:A
    解析:
    本题考查关系数据库中关系模式和SQL查询基础知识。作为主键,其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,员工关系中的主键是员工号,部门关系中的主键是部门号。显然,员工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么?因为题中说明部门负责人也是一个员工,这样负责人代码的取值域为员工号,所以根据外键定义部门关系中的外键是负责人代码。正确查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL査询语句如下:

  • 第10题:

    在关系代数运算中,关系S、SP和R如下表所示。( ),可以从S和SP获得 R。其对应的关系表达式为(请作答此空)。如下的SQL语句可以查询销售总量大于1000的部门名。Select部门名From SWhere 部门号 in (Select 部门号 From SP Group by())。



    答案:C
    解析:
    本题考查的是关系数据库的关系代数查询语言和SQL查询语言。关系R包含的是“家电部”销售的商品号和销售量,这些信息来源于关系S和SP,需要对这两个关系进行连接运算。对于答案A:结果中包含部门号,不正确。对于答案C、D:笛卡儿积会产生无意义的元组,不正确本题正确答案为B:通过选择运算取得“家电部”关系,与SP自然连接,投影用于去除部门号。试题(21)正确答案为C。对于答案A:结果中包含部门号,不正确。对于答案B:结果中包含的是“部门号”,“商品号”,“销售量”,不正确;对于答案D:使用笛卡儿积会产生无意义的元组,不正确。试题(22)正确答案为B。查询销售总量大于1000的部门名,需要根据部门号进行分组,在组内使用集函数sum统计每个部门的销售总量。对分组进行选择使用having短语,不能使用where子句,后者作用于整个表或视图。

  • 第11题:

    某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工和部门的关系模式的外键分别是(请作答此空)。职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)查询每个部门中月工资最高的“职工号”的SQL查询语句如下:Select职工号 from职工as Ewhere月工资=(Select Max(月工资)from职工as M( ))。

    A.职工号和部门号
    B.部门号和负责人代码
    C.职工号和负责人代码
    D.部门号和职工号

    答案:B
    解析:
    本题考查的是关系数据库中关系模式和SQL查询方面的基础知识。试题(5)的正确答案是B。因为,作为主键其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,职工关系中的主键是职工号,部门关系中的主键是部门号。显然,职工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么?因为题中说明部门负责人也是一个职工,这样负责人代码的取值域为职工号,所以根据外键定义部门关系中的外键是负责人代码。试题(6)的正确答案是D。正确的查询每个部门中月工资最高的“职工号”的SQL查询语句如下:Select职工号 ?from职工as Ewhere月工资=(Select Max(月工资)from职工as M where M.部门号=E.部门号);此题子查询“Select Max(月工资)from职工as M where M.部门号=E.部门号”意为找出M.部门号最高月工资,主查询“Select职工号from职工as E where月工资;”意为该职工的月工资等于最高工资。

  • 第12题:

    设有一个员工关系EMP(员工号,姓名,部门名,职位,薪资),若需查询不同部门中担任“项目主管”职位的员工平均薪资,则相应的SQL语句为:SELECT部门名,AVG(薪资)AS平均薪资FROM EMPGROUP BY(请作答此空)( );

    A.员工号
    B.姓名
    C.部门名
    D.薪资

    答案:C
    解析:
    SELECT语句的语法结构:SELECT[ALL|DISTINCT]<列名>[,···n]FROM<表名|视图名>[,···n][WHERE<条件表达式>][GROUP BY<列名>[HAVNG<条件表达式>]][ORDER BY<列名>[ASC|DESC][,···n]]本题中是要求查询不同部门中,所以应使用分组语句进行分组,分组的条件是部门名;在分组的基础上指定条件,一般使用HAVING语句,本题要求是担任“项目主管”职位,也就是说要求职位为项目主管。由于“项目主管”是属于字符串类型的数据,所以在条件表达式中,需要使用单引号将该值引起来。

  • 第13题:

    企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。

    职工(职工号,姓名,年龄,月薪,部门号,电话,地址)

    部门(部门号,部门名,电话,负责人代码,任职时间)

    请将下面的SQL语句空缺部分补充完整。

    CREATE TABLE部门(部门号CHAR(4)PRIMARY KEY,部门名CHAR(20),

    电话CHAR(13),负责人代码CHAR(5),任职时间DATE,

    FOREIGN KEY (37));

    查询比软件部所有职工月薪都要少的职工姓名及月薪的SQL语句如下:

    SELECT 姓名,月薪FROM 职工

    WHERE月薪<(SELECT (38) FROM职工

    WHERE部门号=(39));

    A.(电话)REFERENCES职工(电话)

    B.(部门号)REFERENCES部门(部门号)

    C.(部门号)REFERENCES职工(部门号)

    D.(负责人代码)REFERENCES职工(职工号)


    正确答案:D

  • 第14题:

    使用SQL语句求“公关部”的所有职工的加班费总和: SELECT___(加班费)FROM值班WHERE部门号INSELECT 部门号FROM___WHERE 部门名=“公关部”;


    正确答案:sum
    该SQL语句是一个内外层嵌套查询,内层查询关系表“部门”中部门名为“公关部”记录的部门号,外层查询根据该部门号的值确定“值班”表中部门号为“03”的所有记录的加班费总和,用sum( )函数完成求和。

  • 第15题:

    查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是A)SELECT部门名,COUNT(职工号)AS职工人数; FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10; ORDER BY COUNT(职工号)ASCB)SEIECT部门名,COUNT(职工号)AS职工人数; FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10; ORDER BY COUNT(职工号)DESCC)SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10; ORDER BY职工人数ASCD)SELECT一部门名,COUNT(职工号)As职工人数;FROM部门,职工WHERE部门.部门号一职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10; ORDER BY职工人数DESC


    正确答案:D
    本题考查使用COUNT()函数来构造复杂查询,分组条件GROUP BY部门名HAVIN COUNT(*)>10表示部门人数大于10人。另外可以用排除法求解,首先可以排除选项A和选项C,这两个选项中ORDER BY子句后的关键字是ASC表示升序,不符合题意。选项B的错误在于没有使用职工人数作为排序关健字。

  • 第16题:

    SQL语句SELECT 部门表.部门号,部门名称,SUM(单价*数量);FROM 部门表,商品表;WHERE部门表.部门号=商品表.部门号;GROUP BY部门表.部门号查询结果是A)各部门商品数量合计 B)各部门商品金额合计C)所有商品金额合计 D)各部门商品金额平均值


    正确答案:B
    该语句利用SUM()函数在商品表中查询各部门商品的金额合计,该题涉及多表查询,其执行过程是,从部门表中选取部门号和部门名称以及单价和数量字段,乘积后求和,查询出的记录同时要满足部门号字段和商品表中的部门号相等。GROUP BY后的分组字段是部门号,因此它计算的是各个部门商品金额的合计。

  • 第17题:

    设有一个关系emp-sales(部门号,部门名,商品编号,销售数),部门号唯一标识emp-sales关系中的每一个元组。查询各部门至少销售了5种商品或者总销售数大于 2000的部门号、部门名及平均销售数的SQL语句如下: ELECT部门号,部门名,AVG(销售数)AS平均销售数 FROM emp-sales GROUP BY ( ) HAVING ( ) OR ( )

    A.部门号 B.部门名C.商品编号D.销售数A.COUNT(商品编号)>5B.COUNT(商品编号)>=5 C.COUNT(DISTINCT部门号)>=5 D.COUNT(DISTINCT部门号)>5A.SUM(销售数)>2000B.SUM(销售数)>=-2000C.SUM(‘销售数’)>2000D.SUM(‘销售数’)>=2000


    正确答案:A,B,A

  • 第18题:

    设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句如下:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY(请作答此空)HAVING( ) OR ( );

    A.部门号
    B.部门名
    C.商品编号
    D.销售数

    答案:A
    解析:
    本题考察数据库SQL基础知识。要查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句为:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY部门号HAVING COUNT(商品编号)>=5 OR SUM(‘销售数’)>2000

  • 第19题:

    设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句如下:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY( )HAVING( ) OR (请作答此空);

    A.SUM(销售数)>2000
    B.SUM(销售数)>-2000
    C.SUM(‘销售数’)>2000
    D.SUM(‘销售数’)>-2000

    答案:C
    解析:
    本题考察数据库SQL基础知识。要查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句为:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROM emp-salesGROUP BY部门号HAVING COUNT(商品编号)>=5 OR SUM(‘销售数’)>2000

  • 第20题:

    某企业部门关系模式Dept(部门号,部门名,负责人工号,任职时间),员工关系模式EMP(员工号,姓名,年龄,月薪资,部门号,电话,办公室)。部门和员工关系的外键分别是(请作答此空)。查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL查询语句如下:SELECT员工号,姓名,部门名,月薪资FROM EMP Y,DeptWHERE( )AND月薪资=(SELECT Max(月薪资)FROM EMP Z WHERE( )

    A.员工号和部门号
    B.负责人工号和部门号
    C.负责人工号和员工号
    D.部门号和员工号

    答案:B
    解析:
    本题考查关系数据库中关系模式和SQL查询基础知识。作为主键,其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,员工关系中的主键是员工号,部门关系中的主键是部门号。显然,员工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么?因为题中说明部门负责人也是一个员工,这样负责人代码的取值域为员工号,所以根据外键定义部门关系中的外键是负责人代码。正确查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL査询语句如下:

  • 第21题:

    某企业部门关系模式Dept(部门号,部门名,负责人工号,任职时间),员工关系模式EMP(员工号,姓名,年龄,月薪资,部门号,电话,办公室)。部门和员工关系的外键分别是( )。查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL查询语句如下:SELECT员工号,姓名,部门名,月薪资FROM EMP Y,DeptWHERE( )AND月薪资=(SELECT Max(月薪资)FROM EMP Z WHERE(请作答此空)

    A.Z.员工号=Y.员工号
    B.Z.员工号=Y.负责人工号
    C.Z.部门号=部门号
    D.Z.部门号=Y.部门号

    答案:D
    解析:
    本题考查关系数据库中关系模式和SQL查询基础知识。作为主键,其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,员工关系中的主键是员工号,部门关系中的主键是部门号。显然,员工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么?因为题中说明部门负责人也是一个员工,这样负责人代码的取值域为员工号,所以根据外键定义部门关系中的外键是负责人代码。正确查询每个部门中月薪资最高的员工号、姓名、部门名和月薪资的SQL査询语句如下:

  • 第22题:

    在关系代数运算中,关系S、SP和R如下表所示。( ),可以从S和SP获得 R。其对应的关系表达式为( )。如下的SQL语句可以查询销售总量大于1000的部门名。Select部门名From SWhere 部门号 in (Select 部门号 From SP Group by(请作答此空))。

    A.部门号where] sum(数量)>1000
    B.部门号having sum(数量)>1000
    C.商品号where] sum(数量)>1000
    D.商品号having sum(数量)>1000

    答案:B
    解析:
    本题考查的是关系数据库的关系代数查询语言和SQL查询语言。关系R包含的是“家电部”销售的商品号和销售量,这些信息来源于关系S和SP,需要对这两个关系进行连接运算。对于答案A:结果中包含部门号,不正确。对于答案C、D:笛卡儿积会产生无意义的元组,不正确本题正确答案为B:通过选择运算取得“家电部”关系,与SP自然连接,投影用于去除部门号。试题(21)正确答案为C。对于答案A:结果中包含部门号,不正确。对于答案B:结果中包含的是“部门号”,“商品号”,“销售量”,不正确;对于答案D:使用笛卡儿积会产生无意义的元组,不正确。试题(22)正确答案为B。查询销售总量大于1000的部门名,需要根据部门号进行分组,在组内使用集函数sum统计每个部门的销售总量。对分组进行选择使用having短语,不能使用where子句,后者作用于整个表或视图。

  • 第23题:

    某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工和部门的关系模式的外键分别是( )。职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)查询每个部门中月工资最高的“职工号”的SQL查询语句如下:Select职工号 from职工as Ewhere月工资=(Select Max(月工资)from职工as M(请作答此空))。

    A.where] M.职工号=E.职工号
    B.where] M.职工号=E.负责人代码
    C.where] M.部门号=部门号
    D.where] M.部门号=E.部门号

    答案:D
    解析:
    本题考查的是关系数据库中关系模式和SQL查询方面的基础知识。试题(5)的正确答案是B。因为,作为主键其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,职工关系中的主键是职工号,部门关系中的主键是部门号。显然,职工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么?因为题中说明部门负责人也是一个职工,这样负责人代码的取值域为职工号,所以根据外键定义部门关系中的外键是负责人代码。试题(6)的正确答案是D。正确的查询每个部门中月工资最高的“职工号”的SQL查询语句如下:Select职工号 ?from职工as Ewhere月工资=(Select Max(月工资)from职工as M where M.部门号=E.部门号);此题子查询“Select Max(月工资)from职工as M where M.部门号=E.部门号”意为找出M.部门号最高月工资,主查询“Select职工号from职工as E where月工资;”意为该职工的月工资等于最高工资。

  • 第24题:

    单选题
    可以正确查询每个部门年龄最长者的信息(要求得到的信息包括部门名和最长者的出生日期)的SQL SELECT命令是(  )。
    A


    SELECT部门名,MAX(出生日期)FROM部门JOIN职工;
    ON部门.部门号=职工.部门号GROUP BY部门名

    B


    SELECT部门名,MIN(出生日期)FROM部门JOIN职工;
    ON部门.部门号=职工.部门号GROUP BY部门名

    C


    SELECT部门名,MIN(出生日期)FROM部门JOIN职工;
    WHERE部门.部门号=职工.部门号GROUP BY部门名

    D


    SELECT部门名,MAX(出生日期)FROM部门JOIN职工;
    WHERE部门.部门号=职工.部门号GROUP BY部门名


    正确答案: A
    解析:
    年龄最长者出生日期最小,因此需要用MIN函数来获取年龄最长者的日期。在用JOIN进行超连接运算时,需要使用ON来指定连接条件。需要查询每个部门中年龄最长者,因此需要使用GROUP BY语句对部门名进行分组。