《数据库原理与应用》实验指导书实验三数据库的组合查询和统计查询一、实验目的1、使用SQLServer查询分析器的使用方法。2、加深对SQL和Transact-SQL语言的查询语句的理解。3、熟练掌握数据查询中的分组、统计、计算和组合的操作方法。二、实验内容1、分组查询实验。改实验包括分组条件表达、选择组条件的表达方法。2、使用函数查询的实验。该实验包括统计函数和分组函数统计函数的使用方法。3、组合查询实验。4、计算和分组计算查询的实验三、实验方法与实验2中介绍的实验方法相同。将查询需要用T-SOL语言表示:在SOLServer查询分析器的输入区中输入T-SQL查询语句:设置查询分析器的结果为StandardExecute(标准执行)或ExecutetoGrid(网格执行)方式:发布执行命令,并在结果区中查看查询结果:如果结果不正确,要进行修改,直到正确为止。查询举例:(1)“选课表”中按学号分组汇总学生的平均分,并按平均分的降序排列。SELECT学号,平均分=AVG(成绩)FROM选课表GROUPBY学号ORDERBY平均分DESC(2)“选课表”中查询选修了3门以上课程的学生学号。SELECT学号FROM选课表GROUPBY学号HAVING COUNT(*)>3(3)按学号对不及格的成绩记录进行明细汇总。SELECT学号,课程号,成绩FROM选课表WHERE成绩<60ORDERBY学号COMPUTECOUNT(成绩)GROUPBY学号四、实验步骤在SQLServer查询分析器上,实现以下查询操作:1、查询各个系学生选修101课程的平均成绩。2、查询各个系学生选修课程的总门数。3、查询每门课程的平均分。4、查询学校开设的课程总数。5、查询选修两门及两门以上课程的学生姓名。6、查询经济系且选修课程的最低成绩大于等于60分的学生信息。7、查询经济系或者选修课程的最低成绩大于等于60分的学生信息。五、实验报告要求1、分别用SQL、Transact-SQL写出实验操作的查询语句,对两种语言进行比较。2、实验操作步骤和实验结果,实验中出现的问题和解决方法。- 8 -
《数据库原理与应用》实验指导书 - 8 - 实验三 数据库的组合查询和统计查询 一、实验目的 1、使用 SQL Server 查询分析器的使用方法。 2、加深对 SQL 和 Transact-SQL 语言的查询语句的理解。 3、熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 二、 实验内容 1、分组查询实验。改实验包括分组条件表达、选择组条件的表达方法。 2、使用函数查询的实验。该实验包括统计函数和分组函数统计函数的使用方法。 3、组合查询实验。 4、计算和分组计算查询的实验 三、实验方法 与实验 2 中介绍的实验方法相同。将查询需要用 T-SQL 语言表示;在 SQL Server 查询 分析器的输入区中输入 T-SQL 查询语句;设置查询分析器的结果为 Standard Execute(标准 执行)或 Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果; 如果结果不正确,要进行修改,直到正确为止。 查询举例: (1) “选课表”中按学号分组汇总学生的平均分,并按平均分的降序排列。 SELECT 学号,平均分=AVG(成绩) FROM 选课表 GROUP BY 学号 ORDER BY 平均分 DESC (2) “选课表”中查询选修了 3 门以上课程的学生学号。 SELECT 学号 FROM 选课表 GROUP BY 学号 HAVING COUNT(*)>3 (3)按学号对不及格的成绩记录进行明细汇总。 SELECT 学号,课程号,成绩 FROM 选课表 WHERE 成绩<60 ORDER BY 学号 COMPUTE COUNT(成绩) GROUP BY 学号 四、实验步骤 在 SQL Server 查询分析器上,实现以下查询操作: 1、查询各个系学生选修 101 课程的平均成绩。 2、查询各个系学生选修课程的总门数。 3、查询每门课程的平均分。 4、查询学校开设的课程总数。 5、查询选修两门及两门以上课程的学生姓名。 6、查询经济系且选修课程的最低成绩大于等于 60 分的学生信息。 7、查询经济系或者选修课程的最低成绩大于等于 60 分的学生信息。 五、实验报告要求 1、分别用 SQL、Transact-SQL 写出实验操作的查询语句,对两种语言进行比较。 2、实验操作步骤和实验结果,实验中出现的问题和解决方法
《数据库原理与应用》实验指导书六、注意事项1、子句WHERE<条件>表示元组筛选条件,子句HAVING<条件>表示组选择条件。2、组合查询的子句间不能有语句结束符。3、子句HAVING<条件>必须和GROUPBY<分组字段>子句配合使用。七、思考题1、组合查询语句是否可以用其他语句代替,有什么不同?2、使用GROUPBY<分组条件>子句后,语句中的统计函数的运行结果有什么不同。-9-
《数据库原理与应用》实验指导书 - 9 - 六、注意事项 1、子句 WHERE<条件>表示元组筛选条件,子句 HAVING<条件>表示组选择条件。 2、组合查询的子句间不能有语句结束符。 3、子句 HAVING<条件>必须和 GROUP BY<分组字段>子句配合使用。 七、思考题 1、组合查询语句是否可以用其他语句代替,有什么不同? 2、使用 GROUP BY<分组条件>子句后,语句中的统计函数的运行结果有什么不同