资源描述
第5章作业参考答案
5
1) CREATE TABLE 职工(职工号 CHAR(5) PRIMARY KEY,
姓名 CHAR(8),
年龄 SMALLINT,
性别 CHAR(2));
CREATE TABLE 社会团体(编号 CHAR(5) PRIMARY KEY,
名称 CHAR(20),
负责人CHAR(5),
活动地点CHAR(20),
CONSTRAINT Cl FOREIGN KEY (负责人)REFERENCES 职工
(职工号));
CREATE TABLE 参加1(职工号 CHAR(5),
编号 CHAR(5),
参加日期DATE,
CONSTRAINT C2 PRIMARY KEY(职工号,编号),
CONSTRAINT C3 FOREIGN KEY (职工号)REFERENCES 职工
(职工号)
CONSTRAINT C4 FOREIGN KEY (编号)REFERENCES 社会团体 (编号));
2) CREATE VIEW社团负责人(编号,名称,负责人职工号,负责人姓名, 负责人性别)
AS SELECT编号,名称,负责人,姓名,性别
FROM职工,社会团体
WHERE职工.职工号二社会团体.负责人;
CREATE VIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日
期)
AS SELECT职工.职工号,姓名渗加.编号,名称渗加日期
FROM职工,社会团体渗加
WHERE职工.职工号二社会团体.负责人AND社会团体.编号二参
加.编号;
3) SELECT职工号,姓名
FROM职工,社会团体,参加
WHERE职工.职工号=参加.职工号AND社会团体.编号=参加.编
号AND名称INC歌唱队;篮球队,);
4) SELECT *
FROM职工
WHERE NOT EXISTS
(SELECT *
FROM参加
WHERE职工.职工号二参加.职工号);
5) SELECT *
FROM职工
WHERE NOT EXISTS
(SELECT *
FROM社会团体
WHERE NOT EXISTS
(SELECT *
FROM参加
WHERE职工.职工号二参加.职工号
AND社会团体.编号二参加.编号));
6) SELECT职工号
FROM职工
WHERE NOT EXISTS
(SELECT *
FROM参加参加1
WHERE 参力口 1.职工号='1001'AND NOT EXISTS
(SELECT *
FROM参加参加2
WHERE职工.职工号二参加2.职工号AND
参加2.编号二参加1.编号));
7) SELECT 编号,COUNT(*)
FROM参加
GROUP BY 编号;
8) SELECT社会团体名称,COUNT(职工.姓名)
FROM社会团体,参加
WHERE社会团体.编号二参加.编号
GROUP BY参力口.编号
HAVING MAX(COUNT(参力口.职工号))=COUNT(参力口.职工号);
9) SELECT名称,姓名
FROM社会团体,参加
WHERE社会团体.编号二参加.编号AND
职工.职工号二社会团体.负责人
GROUP BY参力口.编号
HAVING COUNT(参加.编号)>100;
10) GRANT SELECT,DELETE,INSERT
ON社会团体
TO李平
WITH GRANT OPTION;
GRANT SELECT,DELETE,INSERT
ON参加
TO李平
WITH GRANT OPTION;
6
1) SELECT姓名,联系
FROM供应商
WHERE所在城市二,天津,;
2) SELECT *
FROM工程
WHERE 预算 BETWEEN 50000 AND 100000
ORDER BY 预算 DESC;
3) SELECT工程代码
FROM供应零件
WHERE供应商代码=31,;
4) SELECT零件名,数量
FROM零件,供应零件
WHERE零件.零件代码=供应零件.零件代码
AND工程代码二32,;
5) SELECT DISTINCT 零件代码
FROM供应零件
WHERE供应商代码IN
(SELECT供应商代码
FROM供应商
WHERE所在城市二,上海)
6) SELECT工程名
FROM工程,零件,供应零件
WHERE零件.零件代码=供应零件.零件代码AND工程.工程代
码二供应零件.工程代码AND产地=,上海,;
7) SELECT工程代码
FROM工程
WHERE NOT EXISTS
(SELECT *
FROM供应零件
WHERE工程.工程代码工供应零件.工程代码
AND零件代码IN
(SELECT零件代码
FROM零件
WHERE产地=,天津,));
8) UPDATE 零件
SET颜色蓝色’
WHERE颜色二,红色,;
9) UPDATE零件供应
SET供应商代码= 33,
WHERE供应商代码= 35, AND工程代码二,J4,
AND零件代码=,P6<
UPDATE供应零件
SET数量=数量+ (SELECT 数量
FROM供应零件
WHERE供应商代码= 35, AND
工程代码=,J4,AND
零件代码二,P6,)
WHERE供应商代码= 33, AND工程代码=,J4,AND
零件代码二,P6,;
DELETE
FROM供应零件
WHERE供应商代码= 35, AND工程代码=44,AND
零件代码二,P6,;
10) DELETE
FROM供应零件
WHERE供应商代码= 32,;
DELETE
FROM供应商
WHERE供应商代码= 32,;
7
1) CREATE VIEW SDB(SNO,SN)
AS SELECT SNO,SN
FROM S,C,SC
WHERE S.SNOSC.SNO AND C.CNO=SC.CNO
ANDS.SN ='DB';
2) SELECT SN FROM SDB;
展开阅读全文