欢迎来到天天文库
浏览记录
ID:2082806
大小:117.00 KB
页数:5页
时间:2017-11-14
《实验三(2) 数据库复杂查询》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三(2)复杂查询班级:姓名:学号:专业:一、实验目的(1)熟练掌握复杂查询的select语句。(2)熟练掌握连接查询方法(3)熟练掌握嵌套查询方法二、实验内容(1)查询比“林红”年纪大的男学生信息。T-SQL语句:select*fromStudentwhereSex='男'andBirth<(selectBirthfromStudentwhereSname='林红')(2)检索所有学生的选课信息。T-SQL语句:selectdistinct*fromSC,StudentwhereSC.Sno=Student.Sno(3)查询已选课学生的学号、姓名、课程名、成
2、绩。连接查询T—SQL语句:SELECTSC.Sno,Sname,Cname,GradeFROMCourse,SC,StudentWHERESC.Sno=Student.SnoandCourse.Cno=SC.Cno;(4)查询选修了“C语言程序设计”的学生的学号和姓名。T-SQL语句:selectStudent.Sname'学生',Student.Sno'学号'fromSC,Student,CoursewhereSC.Sno=Student.SnoandCourse.Cno=SC.CnoandCname='C语言程序设计';(5)查询与“张虹”在同一个班级的学
3、生学号、姓名、家庭住址。(子查询)T-SQL语句:selectSno,Sname,Home_addrfromCourse,StudentwhereClassnoin(selectClassnofromStudentwhereSname='张虹')连接查询T-SQL语句:selectS1.Sname'姓名',S1.Sno'学号',S1.Home_addr'家庭住址'fromStudentS1,StudentS2whereS1.Classno=S2.ClassnoandS2.Sname='张虹'andnotS1.Sname='张虹';(6)查询其他班级中比“051”
4、班任一学生年龄大的学生的学号、姓名。带有ANY或ALL谓词的子查询语句:selectStudent.Sname'姓名',Student.Sno'学号'fromStudentwhereBirth5、nt.SnoandCno=Course.Cno))(8)查询至少选修了学生“20050002”选修的全部课程的学生的学号,姓名。T-SQL语句:selectdistinctSC1.Sno'学号',Student.Sname'学生'fromSCSC1,Studentwherenotexists(select*fromSCSC2whereSC2.Sno='20050002'andnotexists(select*fromSCSC3whereSC3.Sno=SC1.SnoandSC3.Cno=SC2.Cno))andnotStudent.Sno='20050002'a6、ndStudent.Sno=SC1.Sno;(9)检索学生的学号、姓名、学习课程名及课程成绩。T-SQL语句:SELECTSname,Student.Sno,Course.Cname,GradeFROMStudent,Course,SCWHEREStudent.Sno=SC.SnoandCourse.Cno=SC.Cno(10)检索选修了“高数”课且成绩至少高于选修课程号为“002”课程的学生的学号、课程号、成绩,并按成绩从高到低次序排列。T-SQL语句:selectStudent.Sno'学号',Course.Cno'课程号',SC.Grade'成绩'from7、SC,Student,CoursewhereCourse.Cname='高数'andSC.Grade>all(selectGradefromSCwhereSC.Cno='002')andSC.Sno=Student.SnoandSC.Cno=Course.CnoorderbySC.Gradedesc;(11)检索选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。T-SQL语句:selectStudent.Sno'学号',SUM(SC.Grade)'总成绩'fromSC,StudentwhereSC.Sno=Student.8、SnoandSC.Gra
5、nt.SnoandCno=Course.Cno))(8)查询至少选修了学生“20050002”选修的全部课程的学生的学号,姓名。T-SQL语句:selectdistinctSC1.Sno'学号',Student.Sname'学生'fromSCSC1,Studentwherenotexists(select*fromSCSC2whereSC2.Sno='20050002'andnotexists(select*fromSCSC3whereSC3.Sno=SC1.SnoandSC3.Cno=SC2.Cno))andnotStudent.Sno='20050002'a
6、ndStudent.Sno=SC1.Sno;(9)检索学生的学号、姓名、学习课程名及课程成绩。T-SQL语句:SELECTSname,Student.Sno,Course.Cname,GradeFROMStudent,Course,SCWHEREStudent.Sno=SC.SnoandCourse.Cno=SC.Cno(10)检索选修了“高数”课且成绩至少高于选修课程号为“002”课程的学生的学号、课程号、成绩,并按成绩从高到低次序排列。T-SQL语句:selectStudent.Sno'学号',Course.Cno'课程号',SC.Grade'成绩'from
7、SC,Student,CoursewhereCourse.Cname='高数'andSC.Grade>all(selectGradefromSCwhereSC.Cno='002')andSC.Sno=Student.SnoandSC.Cno=Course.CnoorderbySC.Gradedesc;(11)检索选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。T-SQL语句:selectStudent.Sno'学号',SUM(SC.Grade)'总成绩'fromSC,StudentwhereSC.Sno=Student.
8、SnoandSC.Gra
此文档下载收益归作者所有