关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲 数据汇总查询

上传人:E**** 文档编号:89497405 上传时间:2019-05-25 格式:PPT 页数:21 大小:672.50KB
返回 下载 相关 举报
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲  数据汇总查询_第1页
第1页 / 共21页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲  数据汇总查询_第2页
第2页 / 共21页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲  数据汇总查询_第3页
第3页 / 共21页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲  数据汇总查询_第4页
第4页 / 共21页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲  数据汇总查询_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲 数据汇总查询》由会员分享,可在线阅读,更多相关《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第15讲 数据汇总查询(21页珍藏版)》请在金锄头文库上搜索。

1、第5章 数据查询 数据汇总查询,第15讲,复习:,数据库的基本运算: 投影运算 选择运算 连接运算,复习:,Select语句实现的命令格式: Select 列名表 From 表名 Where 条件,投影运算,选择运算,引:,在基本查询中,我们只涉及到了: 对表的原始数据进行查询。 请思考: 能否通过查询得到我们所需要的信息? 例如:平均成绩、最高成绩、最低成绩、男女生人数、各专业人数等,数据汇总查询,第5章 数据查询 数据汇总查询 学习目标,认知目标: 了解数据汇总的基本概念 能力目标: 掌握数据库的汇总查询(重点、难点),数据汇总查询,含义 对查询结果集进行求总和、求平均、求最大值、求最小值

2、和计数等计算称为汇总统计。 使用的方法有三种: 使用聚合函数(重点) sum、avg、count、max、min 使用group by子句 (重点) 使用compute 子句 (理解),数据汇总查询 1. 使用聚合函数,聚合函数的作用 用来在查询结果集中产生累加和、平均值、记录个数、最大值、最小值等汇总性的数据,并返回一个单值。 聚合函数的作用范围 既可以是一个表中的全部记录,也可以是由where子句指定的该表的一个子集。 语句格式: select 聚合函数(列名) from 表名 where 条件 说明:当select子句中有聚合函数且没有group by子句时,就不能再指定其它的列名。,数

3、据汇总查询 1. 使用聚合函数,SQL Server提供的常用聚合函数有: AVG函数: avg ( all | distinct 列名) SUM函数: sum ( all | distinct 列名) MAX函数: max ( all | distinct 列名) MIN函数: min ( all | distinct 列名) Count函数:count ( * | all | distinct 列名),All :计算该列值非空的记录的个数,默认为all。 Distinct:计算该列值非空且不同的记录的个数(不计算重复行)。 * :计算所有记录的个数。,数据汇总查询 1. 使用聚合函数,实例

4、1:使用聚合函数进行汇总查询。 select avg (成绩) as 平均成绩, max(成绩) as 最高分, min (成绩) as 最低分 from xs_kc select count (学号) as 女生人数 from xsqk where 性别=0 select count (课程号) as 课程总数 from xs_kc select count (distinct 课程号) as 课程总数 from xs_kc,注意:当select子句中有聚合函数且没有group by子句时,就不能再指定列名。,数据汇总查询 1. 使用聚合函数,课堂练习1:完成实现下列功能的汇总语句。 统计x

5、s_kc表中,成绩不及格的人数和课程门数。,select count(distinct 学号) as 不及格人数, count (distinct 课程号) as 不及格课程门数 from xs_kc where 成绩60,数据汇总查询 2. 使用 group by 子句(分类汇总),语法格式: select 列名 from 表名 group by 列名 having 条件 ,用于对生成的组进行条件筛选。,数据汇总查询 2. 使用 group by 子句(分类汇总),实例2:分析下列查询语句执行的功能。 select 专业名, count (专业名) as 人数 from xsqk group

6、 by 专业名 select 性别, 专业名, count (性别) as 人数 from xsqk group by 性别,专业名 order by 性别 desc 注意:,统计各专业的人数。,统计各专业男女生的人数。,select 中的列名必须是group by子句中出现了的列名。,数据汇总查询 2. 使用 group by 子句(分类汇总),课堂练习2:写出实现下列功能的SQL语句。 统计kc表中,每学期的总学分 统计xs_kc表中,每个学生选修的课程门数。,select 开课学期, sum(学分) as 各期的学分合计 from kc group by 开课学期,select 学号,

7、count(*) as 每个学生选修的课程门数 from xs_kc group by 学号,数据汇总查询 2. 使用 group by 子句(分类汇总),实例3:分析下列查询语句执行的功能。 select 性别,专业名, count (性别) as 人数 from xsqk group by 性别,专业名 having count(性别)2,功能: 统计各专业男女生的人数超过2人的信息。,数据汇总查询 2. 使用 group by 子句(分类汇总),课堂练习3:统计xs_kc表中,平均成绩超过75分的学生学号和平均成绩,select 学号, avg(成绩) as 超过75的平均成绩 from

8、 xs_kc group by 学号 having avg(成绩)75,数据汇总查询 2. 使用 group by 子句(分类汇总),where子句与having子句的区别: where子句作用于表(在分组之前对表中的记录先筛选)。 having子句作用于组(在分组之后对生成的组进行筛选)。 having子句中可以有聚合函数 where子句中不能有聚合函数。 当二者同时出现时: 先where 后group by 再having,数据汇总查询 3. 使用 compute by 子句(明细汇总),格式: select 列名表 from 表名 order by 列名 compute 聚合函数(列名)

9、 by 列名 说明:,用computeby进行汇总的列必须按该列排序,所以compute by 必须与order by (排序)连用。,按给定的列进行明细汇总,数据汇总查询 3. 使用 compute by 子句(明细汇总),实例4:分析下列查询语句执行的功能和结果。 select 学号,课程号,成绩 from xs_kc compute avg(成绩) select 学号,课程号, 成绩 from xs_kc order by 2 desc compute avg(成绩) by 课程号,降序排列,按课程号分组汇总,数据汇总查询 3. 使用 compute by 子句(明细汇总),课堂练习4:

10、写出实现下列功能的SQL语句。 统计kc表中的总学分,并显示明细信息。 按开课学期统计kc表中各期的学分,并显示明细信息。,select 课程名称,开课学期,学分 from kc order by 2 compute sum(学分) by 开课学期,select 课程名称,开课学期,学分 from kc compute sum(学分),本课小结,数据汇总方法: 用聚合函数、用group by子句、用computeby子句 语法格式: select 列名表 from 表名,n where 条件 group by 列名 having 逻辑表达式 order by 列名 compute 聚集函数 by 列名 ,投影运算,选择运算,连接运算,排序,课余作业布置,课外练习: 教材 课外实践 任务2 上机准备(课堂考核) 根据题目的已知条件,在作业本上写出相应的SQL语句。 下次上机调试后,交作业。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号