问题 单项选择题

某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工和部门关系的外键分别是 (48)

职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

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

查询每个部门中月工资最高的“职工号”的SQL查询语句如下:

Select 职工号 from 职工as E

where 月工资=(Select Max(月工资)from 职工 as M (49))。

(49)处填()。

A.where M.职工号=E.职工号

B.where M.职工号=E.负责人代码

C.where M.部门号=部门号

D.where M.部门号=E.部门号

答案

参考答案:D

解析:

(48)、(49)[分析]

本题考查的是关系数据库中关系模式和SQL查询方面的基础知识。

试题(48)的正确答案是B。因为,作为主键其值能唯一地标识元组的一个或多个属性,主键通常也称为主码。所谓外键是指如果关系模式R中的属性或属性组不是该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外键,通常也称外码。根据题意分析,职工关系中的主键是职工号,部门关系中的主键是部门号。显然,职工关系中的外键是部门号。但是,部门关系中的外键是负责人代码,为什么 因为题中说明部门负责人也是一个职工,这样负责人代码的取值域为职工号,所以根据外键定义部门关系中的外键是负责人代码。 试题(49)的正确答案是D。

正确的查询每个部门中月工资最高的“职工号”的SQL查询语句如下:

Select 职工号 from 职工 as E

where 月工资=(Select Max(月工资) from职工 as M where M.部门号=E.部门号);

此题子查询“Select Max(月工资) from 职工as M where M.部门号=E.部门号”意为找出M.部门号最高月工资,主查询“Select 职工号 from 职工 as E where月工资=”意为该职工的月工资等于最高工资。

问答题
单项选择题