第5章第2讲数据库的数据汇总查询_第1页
第5章第2讲数据库的数据汇总查询_第2页
第5章第2讲数据库的数据汇总查询_第3页
第5章第2讲数据库的数据汇总查询_第4页
第5章第2讲数据库的数据汇总查询_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章数据查询数据汇总查询,主讲人:白杨,第15讲,复习:,数据库的基本运算:投影运算选择运算连接运算,复习:,Select语句实现的命令格式:Select列名表From表名Where条件,投影运算,选择运算,引:,在基本查询中,我们只涉及到了:对表的原始数据进行查询。对一张表的查询。请思考:能否通过查询得到我们所需要的信息?例如:平均成绩、最高成绩、最低成绩、男女生人数、各专业人数等能否同时对多张表中的数据进行查询?例如:同时查询学生的姓名、专业名、课程名称、成绩等,数据汇总查询,连接查询,第5章数据查询数据汇总查询学习目标,认知目标:了解数据汇总的基本概念能力目标:掌握数据库的汇总查询(重点、难点),数据汇总查询,含义对查询结果集进行求总和、求平均、求最大值、求最小值的计算称为汇总统计。使用的方法有三种:使用聚合函数(重点)sum、avg、count、max、min使用groupby子句(重点)使用compute子句(理解),数据汇总查询1.使用聚合函数,聚合函数的作用用来在查询结果集中产生累加和、平均值、记录个数、最大值、最小值等汇总性的数据,并返回一个单值。聚合函数的作用范围既可以是一个表中的全部记录,也可以是由where子句指定的该表的一个子集。语句格式:select聚合函数(列名)from表名where条件说明:当select子句中有聚合函数且没有groupby子句时,就不能再指定其它的列名。,数据汇总查询1.使用聚合函数,SQLServer提供的常用聚合函数有:AVG函数:age(all|distinct列名)SUM函数:sum(all|distinct列名)MAX函数:max(all|distinct列名)MIN函数:min(all|distinct列名)Count函数:count(*|all|distinct列名),All:计算该列值非空的记录的个数,默认为all。Distinct:计算该列值非空且不同的记录的个数(不计算重复行)。*:计算所有记录的个数。,数据汇总查询1.使用聚合函数,实例1:使用聚合函数进行汇总查询。selectavg(成绩)as平均成绩,max(成绩)as最高分,min(成绩)as最低分from成绩表selectcount(学号)as女生人数from学生基本信息表where性别=女selectcount(课程编号)as课程总数from成绩表selectcount(distinct课程编号)as课程总数from成绩表,统计不重复的记录行,注意:当select子句中有聚合函数且没有groupby子句时,就不能再指定列名。,数据汇总查询1.使用聚合函数,课堂练习1:完成实现下列功能的汇总语句。统计成绩表表中,成绩不及格的课程门数。统计成绩表表中,成绩不及格的人数和课程门数。,selectcount(distinct课程编号)as不及格课程门数from成绩表where成绩75,数据汇总查询2.使用groupby子句(分类汇总),where子句与having子句的区别:where子句作用于表(在分组之前对表中的记录先筛选)。having子句作用于组(在分组之后对生成的组进行筛选)。having子句中可以有聚合函数where子句中不能有聚合函数。当二者同时出现时(P104):先where后groupby再having,数据汇总查询3.使用computeby子句(明细汇总),格式:select列名表from表名orderby列名compute聚合函数(列名)by列名说明:,用computeby进行汇总的列必须按该列排序,所以computeby必须与orderby(排序)连用。,按给定的列进行明细汇总,数据汇总查询3.使用computeby子句(明细汇总),实例4:分析下列查询语句执行的功能和结果。select学号,课程编号,成绩from成绩表computeavg(成绩)select学号,课程编号,成绩from成绩表orderby2desccomputeavg(成绩)by课程编号,降序排列,按课程编号分组汇总,数据汇总查询3.使用computeby子句(明细汇总),课堂练习4:写出实现下列功能的SQL语句。统计课程信息表表中的总学分,并显示明细信息。按开课学期统计课程信息表表中各期的学分,并显示明细信息。,select课程名称,开课学期,学分from课程信息表orderby2computesum(学分)by开课学期,select课程名称,开课学期,学分from课程信息表computesum(学分),本课小结,数据汇总方法:用聚合函数、用groupby子句、用computeby子句语法格式:select列名表from表名,nwhere条件groupby列名having逻辑表达式orderby列名com

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论