问题 单项选择题

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

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

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

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

CREATE TABLE部门(部门号CHAR(4)PRIMARY KEY,部门名CHAR(20),电话CHAR(13),负责人代码CHAR(5),任职时间DATE,FOREIGN KEY());

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

SELECT姓名,月薪FROM职工

WHERE月薪<(SELECT()FROM职工

WHERE部门号=());

WHERE部门号=());

A.职工.部门号AND部门名=’软件部’

B.职工.部门号AND部门.部门名=’软件部’

C.部门.部门号AND部门名=’软件部’

D.(SELECT部门号FROM部门WHERE部门名=’软件部’)

答案

参考答案:D

解析:

[分析]:

试题(33)考查的是关系的外键,对于部门关系中的部门负责人也是一个职工,因此负责人代码是一个外键,为了保证数据的正确性,通过参照完整性加以约束。SQL语言中是通过使用保留字FOREIGN KEY定义外键,REFERENCES指明外码对应于哪个表的主码。参照完整性定义格式:

FOREINGNKEY(属性名)REFERENCES表名(属性名)

按照以上所述,将(33)空缺部分补充完整如下

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

FOREIGN KEY(负责人代码)REFERENCES职工(职工号);

查询比软件部所有职工月薪都要少的职工姓名及月工姓名及月薪的SQL语句的空缺部分补充如下。

SELECT 姓名,月薪 FROM 职工

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

(SELECT 部门号 FROM 部门 WHERE 部门名=’软件部’));

单项选择题 A1型题
名词解释