- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE8
教案首页
课程名称
MySQL数据库开发
本节课题
任务3.2数据表的高级查询
授课方式
理实一体化
教学参考及教具
姜云桥主编.MySQL数据库开发.临科院:教务处,2023
计算机MySQL数据库软件多媒体教学系统资料包
教学目标及基本要求
按照要求完成各种分组的设置。
按照要求完成分组的过滤。
按照指定要求完成排序。
返回指定数量、位置的数据。
掌握groupby的使用。
掌握having的使用,理解having与where的区别。
掌握orderby的各种排序方式。
掌握limit的使用方式
教学重点
教学难点
字符匹配方面的查询、多表的查询
多表的查询
教学小结
作业及要求
按照任务书做好预习任务
对数据表进行查询操作
教后反思
注意:用微课视频每个典型操作做示范
教案用纸
教学内容、方法和过程
附记
任务3.2数据表的高级查询
【任务背景】
查询和统计数据是数据库的基本功能。在数据库实际操作中,经常遇到类似的查询,例如,查询成绩在80~90之间的学生;查询姓李的学生。
查询选了李明老师,成绩在80分以上的学生姓名;统计各系、各专业人数;查询成绩前10名的学生等。
这些查询有些是简单的单表查询,有些是字符匹配方面的查询,有些是基于多表的查询,有些是要使用函数进行统计,对于多表查询,可以使用连接查询和嵌套子查询的办法来实现。
【任务要求】
基于学生表student和成绩表score,完成数据的分组,包括按照单字段和多字段进行分组;按照指定方式,完成分组的过滤;完成数据的排序,按照指定字段指定方式;完成限制返回指定位置、指定数量的记录的查询。
【任务必备知识】
FROM子句?
FROM子句:指定要查询的表,可以指定两个以上的表,表与表之间用逗号隔开。
WHERE子句?GROUPBY?
WHERE子句:指定要查询的条件。
GROUPBY:子句用于对查询结构进行分组。
HAVING子句?
HAVING子句:指定分组的条件,通常在GROUPBY子句之后。
ORDERBY子句?LIMIT子句?
ORDERBY子句:用于对查询结果进行排序。
LIMIT子句:限制查询的输出结果行。
3.2.1认识GROUPBY子句
GROUPBY子句主要根据字段对行分组。例如,根据学生所学的专业对STUDENTS表中的所有行分组,结果是每个专业的学生成为一组。GROUPBY子句的语法格式如下。
GROUPBY{字段名|表达式|正整数}【ASC|DESC】,...【WITHROLLUP】
?说明
(1)GROUPBY子句后通常包含列名或表达式。也可以用正整数表示列,如指定3,则表示按第3列分组。
(2)ASC为升序,DESC降序,系统默认为ASC,将按分组的第一列升序排序输出结果。
(3)可以指定多列分组。若指定多列分组,则先按指定的第一列分组再对指定的第二列分组,以此类推。
(4)使用带ROLLUP操作符的GROUPBY子句:指定在结果集内不仅包含由GROUPBY提供的正常行,还包含汇总行。
【任务3.2.1】按系统计各系的学生人数,SQL语句如下。
mysqlSELECTD_NO,COUNT(*)AS各系人数
FROMSTUDENTS
GROUPBYD_NO;
【任务3.2.2】统计各系男女生人数。SQL语句如下。
mysqlSELECTD_NOAS系别,SEXAS性别,COUNT(*)AS人数
FROMSTUDENTS
GROUPBYD_NO,SEX;
【任务3.2.3】求选修的各门课程的平均成绩和选修该课程的人数
mysqlSELECTC_NO,AVG(REPORT)AS平均成绩,COUNT(C_NO)AS选修人数
FROMSCORE
GROUPBYC_NO;
【任务3.2.4】查询成绩表score,求每个学生成绩的最高分和最低分
【任务3.2.5】查询学生表,统计各系学生人数,包含人数汇总。
GROUPBY子句通常与聚合函数(COUNT()、SUM()、AVG()、MAX()和MIN())一起使用,有关聚合函数的用法将在任务11中详细介绍。
3.2.2认识HAVING子句
使用HAVING子句的目的与WHERE子句类似,不同的是WHERE子句是用来在FROM子句之后选择行,而HAVING子句用来在GROUPBY子句后选择行。语法格式如同WHERE。
【任务3.2.6】选修了2门以上课的学生学号。
mysqlSELECTS_NO
FROMSCORE
GROUPB
您可能关注的文档
最近下载
- 研究生学术表达能力培养知到智慧树期末考试答案题库2024年秋西安建筑科技大学、清华大学、同济大学、山东大学、河北工程大学、《环境工程》英文版和《环境工程》编辑部.docx
- 肋骨骨折的急救与护理ppt.pptx
- 先瑞达医疗~B-市场前景及投资研究报告-药物球囊.pdf
- 电话销售的拒绝处理.pptx
- 2023年台州玉环农商银行寒假生招聘笔试真题.docx VIP
- 人工智能在体育教学中的应用与研究教学研究课题报告.docx
- ABAP将内表行列转换实例(动态内表).pdf
- 部编版小学六年级下册语文教材解读.pdf VIP
- 浙江省宁波五校联考2024年中考科学适应性考试试卷.docx VIP
- 先瑞达医疗-B上市招股说明书 港股.pdf
文档评论(0)