企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。
职工(职工号,姓名,年龄,月薪,部门号,电话,地址)
部门(部门号,部门名,电话,负责人代码,任职时间)
请将下面的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 部门名=’软件部’));