- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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子
您可能关注的文档
- MySQL数据库 授课计划.docx
- MySQL数据库 课程标准、授课计划.docx
- MySQL数据库 课程标准.docx
- MySQL数据库 题库 试题及答案.pdf
- MySQL数据库 题库 试题及答案.docx
- MySQL数据库 课件 1.1 MySQL的安装与配置.pptx
- MySQL数据库 课件 2.1 数据库的创建与数据表的开发.pptx
- MySQL数据库 课件 2.2 数据的操作.pptx
- MySQL数据库 课件 3.1 数据表的基本查询.pptx
- MySQL数据库 课件 3.3 常用函数查询.pptx
- 案例详解数据表p 5538f9f1 ahu.pdf
- 章政策结多项选择题宏观济学chtb.pdf
- 联机教程建议先看一下.pdf
- 安康市汉滨区电缆线路整治查修工程.pdf
- 文稿教程说明mtz0 xx swahili ab initio paper 1 sl markscheme.pdf
- 免疫分析法质量要求.pdf
- review questions of the circulatory system循环系统复习题.pdf
- sfc上影城百联滨江店.pptx
- sigma-sml共7 aldrich安全数据表.pdf
- 学习draw conclusions 2 process activity得出结论过程.pdf
文档评论(0)