网站大量收购闲置独家精品文档,联系QQ:2885784924

MySQL数据库 课件 3.2 数据表的高级查询.pptx

MySQL数据库 课件 3.2 数据表的高级查询.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

主讲教师:姜云桥任务3.2数据表的高级查询子项目3数据库的查询开发

任务背景查询和统计数据是数据库的基本功能。在数据库实际操作中,经常遇到类似的查询,例如,按照要求完成各种分组的设置、过滤;返回指定数量、位置的数据。

任务目标1.能按照要求完成各种分组的设置。能按照要求完成分组的过滤。能按照指定要求完成排序。能返回指定数量、位置的数据。知识目标1.掌握groupby的使用。掌握having的使用,理解having与where的区别。掌握orderby的各种排序方式。掌握limit的使用方式。能力目标

任务要求本任务基于学生表student和成绩表score,完成数据的分组,包括按照单字段和多字段进行分组;按照指定方式,完成分组的过滤;完成数据的排序,按照指定字段指定方式;完成限制返回指定位置、指定数量的记录的查询。

任务必备知识想一想GROUPBY子句的功能?

任务必备知识3.2.1认识groupby子句groupby子句主要根据字段对行分组,在分组之后会把每个分组聚合成一行数据,因此需要调用聚合函数完成该操作,常用的聚合函数如表所示。groupby子句的语法格式如下。selectcol1,col2,... fromtable_name wherewhere_condition groupbycol1,col2 havingwhere_condition

任务必备知识3.2.1认识groupby子句(1)groupby子句后通常包含列名或表达式。也可以用正整数表示列,如指定3,则表示按第3列分组,另外需要注意的一点,mysql8.0对于groupby字段不再支持隐式排序,如需要排序,必须显式加上orderby子句。(2)asc为升序,desc降序,系统默认为asc,将按分组的第一列升序排序输出结果。(3)可以指定多列分组。若指定多列分组,则先按指定的第一列分组再对指定的第二列分组,以此类推。(4)使用带rollup操作符的groupby子句:指定在结果集内不仅包含由groupby提供的正常行,还包含汇总行。

任务必备知识3.2.1认识groupby子句

任务必备知识【任务3.2.1】按系统计各系的学生人数,SQL语句如下mysqlselectd_no,count(*)as人数 -fromstudent -groupbyd_no;3.2.1认识groupby子句

任务必备知识count()参数没有指定字段时,如用星号(*),表示统计的时记录数,即使某个字段为null也会被统计在内;而指定字段的情况下,如count(field),如果field为null,此时则不会被统计在内。3.2.1认识groupby子句

任务必备知识【任务3.2.2】统计各系男女生人数mysqlselectd_noas系别,s_sexas性别,count(*)as人数 -fromstudent -groupbyd_no,s_sex;3.2.1认识groupby子句

任务必备知识当按多个字段分组时,字段之间需要逗号(,)分隔,此时,先按照第一个字段进行分组,只有当第一个字段内容相同时,才会进一步按照第二个字段分组,多个字段执行方式相同。3.2.1认识groupby子句

任务必备知识【任务3.2.3】查询成绩表,求选修的各门课程的平均成绩和选修该课程的人数mysqlselectc_no,avg(mark)as平均成绩,count(*)as选修人数 -fromscore -groupbyc_no;3.2.1认识groupby子句

任务必备知识【任务3.2.4】查询成绩表score,求每个学生成绩的最高分和最低分和总分mysqlselects_no,max(mark)as最高分,min(mark)as最低分,sum(mark)as总分 -fromscore -groupbys_no;3.2.1认识groupby子句

任务必备知识【任务3.2.5】查询学生表,统计各系学生人数,包含人数汇总mysqlselectd_no,count(*)as人数 -fromstudent -groupbyd_nowithrollup;3.2.1认识groupby子句提示:当没有通过GROUPBY明确指定分组时,默认所有的数据属于同一个组,因此,SELECT语句中依然可以使用聚合函数。

任务必备知识想一想Having子句功能?

任务必备知识3.2.2认识having子句使用having子

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档