您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 数据库原理实验报告模板-实验四高级查询
1大连海事大学数据库原理课程实验报告(2013-2014学年第二学期)实验四高级查询班级:软件工程四班学号:2220121787姓名:马跃指导教师:曹志英成绩:大连海事大学软件工程系2014年6月23日选课序号:252目录1实验目的...............................................................................................32实验内容...............................................................................................32.1掌握SQL高级查询使用方法.....................................................................................33实验要求...............................................................................................34实验步骤...............................................................................................34.1掌握SQL高级查询使用方法.....................................................................................35总结与体会...........................................................................................65.1实验中出现的问题及其解决方案...............................................................................65.2总结...............................................................................................................................75.3体会...............................................................................................................................731实验目的(1)掌握SQL的高级查询的使用方法,如分组统计、嵌套查询、集合查询等等。2实验内容2.1掌握SQL高级查询使用方法(1)分组统计。(2)嵌套查询,包括IN查询、EXISTS查询。(3)集合查询。3实验要求(1)深入复习教材第三章SQL有关高级查询语句。(2)根据书上的例子,针对DBTestBed数据库模式设计分组统计查询、嵌套查询(IN、EXISTS)语句和集合查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例查询做实验。(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。4实验步骤4.1掌握SQL高级查询使用方法(1)不带分组过滤条件的分组统计查询。统计2013-2014上学期信息学院(01)开设的每门课程的最高分,最低分,及平均成绩。selectC.coursename,avg(score)AVGS,max(score)MAXS,min(score)MINSfromtb_select_courseA,Tb_Cultivate_SchemeB,Tb_Course_infoCwhereA.schemeid=B.schemeidandB.cyear='2013'andB.term='上'andC.courseid=B.courseidandC.deptid='01'groupbyC.coursename4(2)带分组过滤条件的分组统计查询。查询选修了1门以上课程的学生学号,姓名,年级,专业名称selectA.graduateid,graduatename,grade,specialitynamefromtb_student_infoA,tb_speciality_infoB,tb_select_courseCwhereA.specialityid=B.specialityidandC.graduateid=A.graduateidgroupbyA.graduateid,A.graduatename,grade,specialitynamehavingcount(A.graduateid)1(3)单层IN查查询学号为’1787’的学生信息。selectA.graduateid,graduatename,sex,city,email,tel,birthdayfromtb_student_infoAwheregraduateidin(selectgraduateidfromtb_student_infoDwhereD.graduateid='1787')(4)IN嵌套查询。查询“信息科学技术学院”学生姓名和学号和家庭地址。selectgraduateid,graduatename,cityfromtb_student_infowherespecialityidin(selectspecialityidfromtb_speciality_infowheredeptidin(selectdeptidfromtb_dept_infowheredeptname='信息科学技术学院'))5(5)带有比较运算符的子查询查询指导教师为“曹志英”的所有学生学号姓名和电话。selectgraduateid,graduatename,telfromtb_student_infowheretutorid=(selecttutoridfromtb_tutor_infowheretutorname='曹志英')(6)单层EXISTS嵌套查询。所有选修培养方案号(SchemeID)为3的学生姓名selectgraduatenamefromtb_student_infoAwhereexists(select*fromtb_select_courseBwhereB.schemeid='01'andA.graduateid=B.graduateid)(7)双层EXISTS嵌套查询。查询选修了全部课程的学生姓名selectgraduatenamefromtb_student_infoAwherenotexists(select*fromtb_course_infoB,tb_cultivate_schemeDwhereB.courseid=D.courseidandnotexists(select*fromtb_select_courseCwheregraduateid=A.graduateidandschemeid=D.schemeid))6(8)集合查询(交、并、差各设计一个)。查询“曹志英”老师和“宗雪飘”老师都授过课的学生姓名学号。selectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='01'unionselectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='02'查询“曹志英”老师和“宗雪飘”老师授过课的所有学生姓名学号。selectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='01'intersectselectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='02'查询选修过“曹志英”老师的课程,却没有听过“宗雪飘”课程的学生姓名学号。selectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='01'exceptselectgraduatename,A.graduateidfromtb_student_infoA,tb_select_courseBwhereA.graduateid=B.graduateidandB.teacher='02'5总结与体会5.1实验中出现的问题及其解决方案在groupby查询学号姓名时没有将,没有将姓名放在groupby语句中,结果出现查询不正确,最后请教老师,在groupby分组时应将查询的内容都包含。75.2总结感觉这个实验相对于上几个实验比较难,尤其是双层EXISTS嵌套查询,自己的理解还不是很到位,但是慢慢参考书上的例子,将代码写了出来。5.3体会感觉自己自己学习的数据库还不是很踏实,还应该继续努力脚踏实地,不要急于求成,自己不会时应该多向同学老师请教。
本文标题:数据库原理实验报告模板-实验四高级查询
链接地址:https://www.777doc.com/doc-5241760 .html