问题 单项选择题

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

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

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

请将下面的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

解析:

[分析]:

本题考查的是应试者对SQL语言的掌握程度。

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

FOREIGN KEY(属性名)REFERENCES表名(属性名)

按照以上所述,将第一空空缺部分补充完整如下

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

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

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

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

SELECT 姓名,月薪FROM 职工

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

WHERE部门号=

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

单项选择题 共用题干题
单项选择题