第3课 实验7 复杂查询.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 复杂查询 一、实验目的 掌握两个表以上的连接查询的应用,包括嵌套查询。 二、实验内容 (1)查询比“林红”年纪大的男学生信息。 select * from Student where Sex = 男 and YEAR(Birth)-(select YEAR(Birth) from Student where Sname =林红)0 (2)检索所有学生的选课信息,包括学号、姓名、课号、课程名、成绩。 select SC.Sno,Sname,Sex,Classno,Cname,Grade from Student s,SC,Course c where s.Sno=SC.Sno and SC.cno=c.cno (3)查询已选课学生的学号、姓名、课程名、成绩。 select SC.Sno,Sname,Cname,Grade from Student s,course c,SC where s.sno=SC.sno and c.cno=SC.cno (4)查询选修了“C语言程序设计”的学生的学号和姓名。 select sc.Sno,Sname from Student s,course c,sc where c.Cname=C语言程序设计 and s.Sno=sc.Sno and sc.Cno=c.Cno (5)查询与“张虹”在同一个班级的学生学号、姓名、家庭住址。 a.用子查询 select Sno,Sname,Home_addr from Student where Classno=051 and Sname!=张虹 b.用连接查询 select Sno,Sname,Home_addr from Student where Classno=(select Classno from Student where Sname=张虹) and Sname!=张虹 (6)查询其他班级中比“051”班所有学生年龄大的学生的学号、姓名。 select Sno,Sname from Student where Classno 051 and Birth all(select Birth from Student where Classno = 051) (7)(选作)查询选修了全部课程的学生姓名。 本题使用除运算的方法。 由题意可得另一种语言,没有一个选了课的学生没有选course表里的课程。那么,我们需要两个NOT EXISTS表示双重否定 select Sname from Student where not exists( select * from Course where not exists( select * from SC where Sno=Student.sno and cno=Course.cno)) (8)(选作)查询至少选修了学生选修的全部课程的学生的学号,姓名。 select Sno,Sname from Student where Sno in( select distinct Sno from SC as SC1 where not exists( select * from SC as SC2 where SC2.Sno and not exists( select * from SC as SC3 where SC3.Sno=SC1.Sno and SC3.cno=SC2.cno)) ) (9)检索学生的学号、姓名、学习课程名及课程成绩。 select s.Sno,Sname,Cname,Grade from Student s,Course c,SC where s.Sno=sc.Sno and sc.Cno=c.Cno (10)检索选修了“高数”课且成绩至少高于选修课程号为“002”课程的学生的学号、课程号、成绩,并按成绩从高到低次序排列。 由题意得,选修了高数课的学生的成绩要高于选修002课号课程的学生的成绩 select distinct Sno,Cno,Grade from SC where Cno in( select Cno from Course where Cname=高数) and Grade(select MAX(Grade) from SC where cno=002) order by Grade desc (11)检索选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。 select Sno,sum(grade) as

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档