某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工和部门关系的外键分别是 (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月工资=”意为该职工的月工资等于最高工资。