数据库第9章-选择查询.ppt

数据库第9章-选择查询.ppt

ID:57975180

大小:547.00 KB

页数:35页

时间:2020-09-04

数据库第9章-选择查询.ppt_第1页
数据库第9章-选择查询.ppt_第2页
数据库第9章-选择查询.ppt_第3页
数据库第9章-选择查询.ppt_第4页
数据库第9章-选择查询.ppt_第5页
资源描述:

《数据库第9章-选择查询.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、9.1聚合函数9.2分组查询9.3联接查询9.4子查询第9章选择查询9.1聚合函数聚合函数用以在查询中生成对数据的统计结果。常用聚合函数CountSumAvgMaxMinCount用于对符合查询条件的记录进行计数。例1.统计姓名中含有“小”的学生人数。SELECTCount(*)FROM2003学生名单WHERE姓名Like"*小*"例2.统计学生总人数。SELECTCount(*)FROM2003学生名单Sum用来返回在查询的指定字段中所包含的一组值的总计。例3.求031国贸1班的学生的入学成绩

2、总和。SELECT“031国贸1”AS班级,Sum(入学成绩)AS总成绩FROM2003学生名单WHERE班级=“031国贸1"Avg用于计算查询的指定字段中包含的一组值的算术平均值。执行时,先逐条记录进行检查,如果某记录的指定字段为空值或者某记录不符合筛选条件,就忽略该记录,否则参加计算。最后得到的结果是符合筛选条件的所有有效字段值的平均值。在没有任何符合条件的记录的情况下,该值为0。Avg例3.求所有学生的入学成绩的平均值。SELECTAvg(入学成绩)FROM2003学生名单本例中,放在SE

3、LECT后的Avg(入学成绩)为一表达式,描述将生成一个数据列,该列的值为对入学成绩字段求平均值。本例没有对记录进行条件筛选,因此是对全部学生的入学成绩求平均值。Avg例4.求“031国贸3班”的“男”同学的平均入学成绩。SELECTAvg(入学成绩)AS平均成绩FROM2003学生名单WHERE班级=“031国贸3"AND性别="男"Avg例5.求02科室男医生的平均年龄。SELECTAvg(Year(DATE())-Year(出生日期))AS平均年龄FROM医生WHERE科室号=“02”AND

4、性别=“男"Max、MinMax、Min函数用来返回在查询的指定字段内所包含的一组值中的最大值或最小值。Max和Min函数的参数可以是文本、数字、日期等类型的字段或表达式。如果是表达式,将先进行指定的计算,然后用表达式的值进行比较选择。例7.查询年龄最大和最小的学生的出生日期。SELECTMin(出生日期),Max(出生日期)FROM2003学生名单Max、Min例8.统计学生人数、最低入学成绩、最高入学成绩和平均成绩。SELECTCount(*)AS学生人数,Min(入学成绩)AS最低分,Max

5、(入学成绩)AS最高分,Avg(入学成绩)AS平均分FROM2003学生名单本例同时进行了四项统计处理,其结果为四个值。9.2分组查询在进行统计处理时,往往需要进行分类统计,就是说按一定的规则将表中的数据记录分成若干组,对每组数据进行统计。完成分组统计时,每一组的统计结果形成一行数据,最终由这些数据行形成统计查询的结果集。例如,如果学生来自20个不同的班级,当按“班级”进行人数统计时,系统将会把学生记录按不同的班级值分成形成20个组,对每组中的记录进行计数,最后形成20条记录。9.2分组查询进行分

6、组统计的关键在于如何对数据记录进行分组。GROUPBY<分组字段表>分组字段表中可以有1到10个字段名。在结果集中,将形成与每个分组相应的记录,并在该记录行中存放规定的计算值。9.2.1分组查询示例例9.统计来自不同地区的学生人数。SELECT地区,Count(*)AS人数FROM学生情况GROUPBY地区有多少个不同的地区,就把记录分成多少个组,最终每组的统计结果形成一行。在设计分组查询时,应该注意SELECT字段列表中单独出现的所有字段都必须包括在GROUPBY子句中,如果不包含则出错。9.2

7、.1分组查询示例例10.统计来自不同科室、不同职称的男医生人数,结果按职称升序排序。SELECT科室号,职称,Count(*)AS人数FROM医生WHERE性别="男"GROUPBY科室号,职称ORDERBY职称如果在查询中使用了WHERE子句,分组时那些不符合查询条件的记录将被筛选掉。9.2.1分组查询示例例11.统计各班学生的人数、平均入学成绩,结果按入学成绩的平均值排序。SELECT班级,Count(*)AS人数,Avg(入学成绩)AS平均成绩FROM2003学生名单GROUPBY班级ORD

8、ERBYAvg(入学成绩)在查询中可以使用多个聚合函数,并且可以在聚合函数中使用相关字段,在聚合函数中使用的字段不必出现在GROUPBY子句中。如果在GROUPBY子句中使用了某些字段,但没有在SELECT字段列表中列出,分组是可以进行的,只不过无法看到按什么字段进行的分组及分组值的具体情况了。所以,一般情况下,分组字段应该在SELECT字段列表中列出。9.2.1分组查询示例9.2.2筛选分组查询的结果在进行分组查询时,如果只对结果集中的某些数据感兴趣,可以再用HAVING子句对分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。