实验内容与完成情况(记录所有的实验过程): 按照《数据库系统概论》(第五版)P79页的学生课程数据库和P70-71页中的SPJ数据库完成以下查询
1.查询还没有给任何工程供应过零件的供应商号sno和供应商名称sname,用带EXISTS谓词的子查询或相关联子查询实现。 SELECT SNO 供应商号,SNAME 供应商名称 FROM S WHERE NOT EXISTS( SELECT * FROM SPJ WHERE SNO=S.SNO ); 运行结果: 2.查询使用了全部零件的工程号JNO,用带EXISTS谓词的子查询实现。 SELECT JNO FROM J WHERE NOT EXISTS( SELECT * FROM P WHERE NOT EXISTS( SELECT * FROM SPJ WHERE JNO = J.JNO AND PNO = P.PNO ) ); 运行结果: 3.查询至少选修了’1’号和’2’号课程的学生学号, 用带EXISTS谓词的子查询或自身连接查询实现。 SELECT Sno FROM Student WHERE EXISTS ( SELECT * FROM SC WHERE Sno = Student.Sno AND Cno =1 AND EXISTS ( SELECT * FROM SC WHERE Sno = Student.Sno AND Cno =2 ) ); 运行结果: 附加题:查询至少用了供应商S1所供应的所有零件的工程号JNO,用带EXISTS谓词的子查询实现。 SELECT DISTINCT JNO 工程号 FROM SPJ WHERE EXISTS( SELECT * FROM S WHERE SPJ.SNO=SNO ); 运行结果:
1.P130 (8)把全部蓝色零件的颜色改为红色; UPDATE P SET COLOR = '红' WHERE COLOR = '蓝'; 更新前的表格: 更新后的表格: 2.将S5供应给J1的零件P3改为由S1供应,请作必要的修改; UPDATE SPJ SET SNO = 'S1' WHERE SNO = 'S5' AND JNO = 'J1' AND PNO = 'P3'; 更新前: 更新后: 3.从供应商关系中删除S3的记录,并从供应情况关系中删除相应的记录。 DELETE FROM SPJ WHERE SNO = 'S3' DELETE FROM S WHERE SNO = 'S3'; 更新前: 更新后: 4.删除所有信息系(IS)同学的信息。 DELETE FROM Student WHERE Sdept = 'IS'; 更新前: 更新后: 自行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性约束。 --添加信息 INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept) VALUES('3171911134','黄湘平','男',21,'CS');
INSERT INTO SC(Sno,Cno,Grade) VALUES('3171911134',4,99);
--更新信息 UPDATE SC SET Grade = 100 WHERE Sno = '3171911134' AND Cno = 4;
--删除信息 DELETE FROM SC WHERE Sno = '3171911134';
DELETE FROM Student WHERE Sno = '3171911134';
观察结果:没有违反数据的完整性约束!
CREATE VIEW view_spj AS SELECT SNO,PNO,QTY FROM SPJ WHERE JNO = ( SELECT JNO FROM J WHERE JNAME = '三建' ); 针对该视图完成下列查询: 1.找出”三建”工程项目使用的各种零件代码及其数量; SELECT PNO,QTY FROM view_spj; 运行结果: 2.找出供应商S2的供应情况; SELECT * FROM view_spj WHERE SNO = 'S2'; 运行结果: 创建一个学生成绩统计视图,包括学号,姓名,选课门数,平均分,最高分。(没有选课的学生不参加统计)。 CREATE VIEW view_cal_gradeOfStudent AS SELECT S.SNO 学号,S.Sname 姓名,COUNT(*) 选课门数, AVG(SC.Grade)平均分,MAX(SC.Grade)最高分 FROM Student S,SC WHERE S.Sno = SC.Sno GROUP BY S.Sno,S.sname; 运行结果: |
实验四:SQL Serve中的嵌套查询、数据更新和视图
最新推荐文章于 2022-11-29 23:03:22 发布