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

MySQL数据库 3.2 数据表的高级查询教案 .docx

MySQL数据库 3.2 数据表的高级查询教案 .docx

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

文档评论(0)

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

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

1亿VIP精品文档

相关文档