文档详情

数据库原理实验报告模板实验四高级查询分析.doc

发布:2016-06-09约2.08千字共18页下载文档
文本预览下载声明
大连海事大学 数据库原理课程实验报告 (2013-2014学年第二学期) 实验四 高级查询 班 级: 网络工程2班 学 号: 2220133079 姓 名: 祁恩星 指导教师: 张德珍 成 绩: 大连海事大学网络工程系 2014年 5月27日 目 录 1 实验目的 3 2 实验内容 3 2.1 掌握SQL高级查询使用方法 3 3 实验要求 3 4 实验步骤 3 4.1 掌握SQL高级查询使用方法 3 5 总结与体会 4 5.1 实验中出现的问题及其解决方案 4 5.2 总结 4 5.3 体会 4 实验目的 掌握SQL的高级查询的使用方法,如分组统计、嵌套查询、集合查询等等。 实验内容 掌握SQL高级查询使用方法 分组统计。 嵌套查询,包括IN查询、EXISTS查询。 集合查询。 实验要求 深入复习教材第三章SQL有关高级查询语句。 根据书上的例子,针对DBTestBed数据库模式设计分组统计查询、嵌套查询(IN、EXISTS)语句和集合查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例查询做实验。 实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。 实验步骤 掌握SQL高级查询使用方法 不带分组过滤条件的分组统计查询。 带分组过滤条件的分组统计查询。 单层IN查询。 IN嵌套查询。 带有比较运算符的子查询 单层EXISTS嵌套查询。 双层EXISTS嵌套查询。 集合查询(交、并、差各设计一个)。 实验结果 见附录 总结与体会 在多个表建立关系时容易弄乱,在这个地方可以认真操作 在做查询:查询至少选修了学生“2220121764”选修的全部课程的学生号码时,开始没有意识到除了双层EXISTS嵌套查询还包含了自身连接的查询。在反复推敲后才意识到这一点并改正。 高级查询的基础是基本查询,所以在做高级查询前一定要弄懂基本查询。 附录:高级SQL查询 不带分组过滤条件的分组统计查询。 (1)统计每个学生选修课程的总学分。 (2)统计2013-2014学年第1学期信息学院开设的每门课程的最高分,最低分,及平均成绩。 (3)按学院统计2013-2014学年第2学期每个老师的上课情况(课程名称,选课人数等有关信息)。 带分组过滤条件的分组统计查询。 (1)查询选修了3门以上课程的学生学号,姓名,年级,专业名称(及导师姓名,可选) (2)查询2013-2014学年第1学期任教2门以上课程的教师代码,姓名。 (3)按学院统计2013-2014学年第2学期每位老师所任教课程及其不及格学生的人数 单层IN查询。 (1)查询学号为’ 2220121764’,’ 2220121900’,’ 2220122080’的学生信息。 (2)查询学院代码为’01’,’02’,’03’ 2011级的学生信息。 (3)查询民族代码为’01’,’02’,’03’的学生信息。 查询教师职称代码为’011’,’012’的教师信息。 4.IN嵌套查询。 (1)查询学院名称为“航海学院”,“轮机工程学院”,“信息科学技术学院”2012级的学生信息。 (2)查询民族名称为’汉族’,’ 蒙古族’,’回族’的学生信息。 (3)查询职称为’教授’,’副教授’的教师信息。 5.带有比较运算符的子查询 (1)查询指导教师为“张德珍”的所有学生信息。 查询2013-2014学年第2学期选修“数据库原理”课程的所有学生信息。 6.单层EXISTS嵌套查询。 (1)查询所有选修培养方案号(SchemeID)为3的学生姓名。 (2)查询没有选修培养方案号(SchemeID)为3的学生姓名。 7.双层EXISTS嵌套查询。 (1)查询选修了全部课程的学生姓名。 (2)查询至少选修了学生“2220121764”选修的全部课程的学生号码。 8.集合查询(交、并、差各设计一个)。 (1)查询学生“陈海鸥”和“周文蘂”都选的课程信息。 (2)查询学生“陈海鸥”和“周文蘂”选的全部课程信息。 (3)查询学生“陈海鸥”选修过,而“周文蘂”没选修过的课程信息。 (4)查询“张德珍”老师和“刘宁宁”老师都授过课的学生信息。
显示全部
相似文档