- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6讲 教学内容 第4章 SQL关系数据库查询语言 4.2 SQL的查询功能 SQL查询的计算 分组查询 查询去向 特殊查询功能 4.2 SQL的查询功能 4.2.5 计算查询 在查询过程中,可能会遇到一些简单的计算,在下面小节中将介绍几个在查询中用到的计算函数。 (1)COUNT( ) 统计记录的个数。 (2)SUM( ) 计算某一列值的总和(此列必须是数值型)。 (3)AVG( ) 计算某一列值的平均值(此列必须是数值型)。 (4)MAX( ) 计算某一列值的最大值。 (5)MIN( ) 计算某一列值的最小值。 4.2 SQL的查询功能 【例4.21】查询教师表中的教师人数。 SELECT COUNT(教师号) FROM 教师 如果只是统计表中记录的个数,则可以统计表中任意字段的记录个数,所以字段名可以用*号代替。 此查询等价于:SELECT COUNT(*) FROM 教师 【例4.22】查询选修了课程的学生人数。 SELECT COUNT(DISTINCT 学号) AS 学生人数 FROM 选课 一个学生可能选修了多门课程,所以要用DISTINCT语句去掉重复的记录。 【注意】除非对关系中记录的个数进行计数,一般COUNT函数应该使用DISTINCT。 4.2 SQL的查询功能 【例4.23】统计物理专业的平均入学成绩。 SELECT AVG(入学成绩) AS 平均入学成绩 FROM 学生; WHERE 专业= 物理“ 【例4.24】查询年龄最小的学生的姓名和出生日期。 年龄最小值,即出生日期的最大值。 SELECT 姓名,MAX(出生日期) AS 出生日期 FROM 学生 4.2 SQL的查询功能 4.2.6 分组查询 【格式】 GROUP BY 字段1|数值 [,字段2,虚拟字段…] HAVING条件表达式 【说明】 (1)GROUP BY对记录分组,并分别对每组记录进行统计运算,默认对分组字段升序排序。 (2)可以对一个或多个字段进行分组,也可以对虚拟字段进行分组,但不能对运算表达式进行分组,即不能按某个表达式的运算结果进行分组。 (3)可以用HAVING语句限定分组的条件,HAVING语句不能单独使用只能跟在GROUP BY语句之后。 (4)HAVING语句与WHERE语句并不矛盾,在查询过程中,先使用WHERE语句在所有记录中查找出符合条件的记录,然后再对这些记录进行分组,最后再使用HAVING语句查找出符合条件的组。 4.2 SQL的查询功能 【例4.25】查询每个专业的平均入学成绩,结果包含专业和平均入学成绩两个字段。 SELECT 专业,AVG(入学成绩) AS 平均入学成绩 ; FROM 学生 GROUP BY 专业 【例4.26】查询每个专业中男、女生的最高入学成绩,结果包含专业、性别和最高入学成绩三个字段。 此查询先对专业分组,专业相同时再对性别分组。 SELECT 专业,性别,MAX(入学成绩) AS 最高入学成绩 FROM 学生; GROUP BY 专业,性别 4.2 SQL的查询功能 【例4.27】查询所有男生各专业的平均入学成绩,结果包含专业、性别和平均入学成绩三个字段。 此查询先把所有男生的记录筛选出来,然后对这些男生的记录再分组求平均值。 SELECT 专业, 性别, AVG(入学成绩) AS 平均入学成绩 FROM学生; WHERE 性别=男 GROUP BY 专业 【注意】HAVING语句和WHERE语句的区别: WHERE语句是用来指定表中所有记录应满足的条件,而HAVING语句是用来指定每组记录应满足的条件,只有满足HAVING条件的那些组才能在结果中显示出来。 4.2 SQL的查询功能 【例4.28】查询平均入学成绩大于500的专业信息,结果包含专业、平均入学成绩两个字段。 SELECT 专业,AVG(入学成绩) AS 平均入学成绩 FROM 学生; GROUP BY 专业 HAVING AVG(入学成绩)500 此查询是对专业分组,但不是求所有组的平均入学成绩等信息,而是求平均入学成绩大于500的组的信息。HAVING语句后可以使用表达式,也可以使用虚拟字段,此查询等价于: SELECT 专业,AVG(入学成绩) AS 平均入学成绩 FROM 学生; GROUP BY 专业 HAVING 平均入学成绩500 4.2 SQL的查询功能 【例4.29】查询选修了两门以上课程(包括
您可能关注的文档
- Visual C_.NET案例教程 教学课件 作者 翁健红 1 6 第3章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 1 6 第4章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 1 6 第5章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 1 6 第6章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 1 6 封面及目录.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 7 12 第7章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 7 12 第8章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 7 12 第9章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 7 12 第10章.ppt
- Visual C_.NET案例教程 教学课件 作者 翁健红 7 12 第11章.ppt
文档评论(0)