欢迎来到天天文库
浏览记录
ID:56865434
大小:20.00 KB
页数:4页
时间:2020-07-16
《实验三四(答案).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三:数据库的嵌套查询实验实验目的:加深对嵌套查询语句的理解。实验内容:使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。实验步骤:一.使用带IN谓词的子查询1.查询与’刘晨’在同一个系学习的学生的信息:select*fromstudentwheresdeptin(selectsdeptfromstudentwheresname='刘晨')比较:select*fromstudentwheresdept=(selectsdeptfromstudentwheresname='刘晨')的异同比较:select*fromstudentwhe
2、resdept=(selectsdeptfromstudentwheresname='刘晨')andsname<>'刘晨V比较:selectS1.*fromstudentS1,studentS2whereS1.sdept=S2.sdeptandS2.sname='刘晨'2.查询选修了课程名为’信息系统’的学生的学号和姓名:SQLServer中:selectsno,snamefromstudentwheresnoin(selectsnofromscwherecnoin(selectcnofromcoursewherecname='信息系统'))VFP中:s
3、electsno,snamefromstudentwheresnoin(selectsnofromsc,coursewheresc.cno=course.cnoandcname='信息系统')3.查询选修了课程’1’和课程’2’的学生的学号:selectsnofromstudentwheresnoin(selectsnofromscwherecno='1')andsnoin(selectsnofromscwherecno='2')比较:查询选修了课程’1’或课程’2’的学生的sno:selectsnofromscwherecno='1'orcno='2'
4、比较连接查询:selectA.snofromscA,scBwhereA.sno=B.snoandA.cno='1'andB.cno='2'二.使用带比较运算的子查询4.查询比’刘晨’年龄小的所有学生的信息:select*fromstudentwheresage<(selectsagefromstudentwheresname='刘晨')三.使用带Any,All谓词的子查询5.查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;selectsname,sagefromstudentwheresage5、twheresdept='IS')andsdept<>'IS'6.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄:selectsname,sagefromstudentwheresage'IS'7.查询与计算机系(CS)系所有学生的年龄均不同的学生学号,姓名和年龄:selectsno,sname,sagefromstudentwheresage<>all(selectsagefromstudentwheresdept='CS')四.使用带Ex6、ists谓词的子查询和相关子查询8.查询与其他所有学生年龄均不同的学生学号,姓名和年龄:selectsno,sname,sagefromstudentAwherenotexists(select*fromstudentBwhereA.sage=B.sageandA.sno<>B.sno)9.查询所有选修了1号课程的学生姓名:selectsnamefromstudentwhereexists(select*fromscwheresno=student.snoandcno='1')10.查询没有选修了1号课程的学生姓名:selectsnamefromstud7、entwherenotexists(select*fromscwheresno=student.snoandcno='1')11.查询选修了全部课程的学生姓名:SQLServer中:selectsnamefromstudentwherenotexists(select*fromcoursewherenotexists(select*fromscwheresno=student.snoandcno=course.cno))11.查询至少选修了学生95002选修的全部课程的学生的学号:SQLServer中:selectdistinctsnofromscAwh8、erenotexists(select*fromscBwheresno='950
5、twheresdept='IS')andsdept<>'IS'6.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄:selectsname,sagefromstudentwheresage'IS'7.查询与计算机系(CS)系所有学生的年龄均不同的学生学号,姓名和年龄:selectsno,sname,sagefromstudentwheresage<>all(selectsagefromstudentwheresdept='CS')四.使用带Ex
6、ists谓词的子查询和相关子查询8.查询与其他所有学生年龄均不同的学生学号,姓名和年龄:selectsno,sname,sagefromstudentAwherenotexists(select*fromstudentBwhereA.sage=B.sageandA.sno<>B.sno)9.查询所有选修了1号课程的学生姓名:selectsnamefromstudentwhereexists(select*fromscwheresno=student.snoandcno='1')10.查询没有选修了1号课程的学生姓名:selectsnamefromstud
7、entwherenotexists(select*fromscwheresno=student.snoandcno='1')11.查询选修了全部课程的学生姓名:SQLServer中:selectsnamefromstudentwherenotexists(select*fromcoursewherenotexists(select*fromscwheresno=student.snoandcno=course.cno))11.查询至少选修了学生95002选修的全部课程的学生的学号:SQLServer中:selectdistinctsnofromscAwh
8、erenotexists(select*fromscBwheresno='950
此文档下载收益归作者所有