《MySQL数据库应用与管理(第3版)》 课件 5.3 高级查询.pptx

《MySQL数据库应用与管理(第3版)》 课件 5.3 高级查询.pptx

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

数据查询高级查询

本节内容1.使用内连接(INNERJOIN)进行多表查询2.使用外连接(OUTERJOIN)进行多表查询3.使用统计函数对数据进行统计汇总4.使用GROUPBY子句对数据进行分组汇总

本节内容5.使用HAVING子句对分组汇总结果进行筛选6.子查询的返回值为单列单值的嵌套查询7.子查询的返回值为单列多值的嵌套查询8.使用EXISTS关键字创建子查询

高级查询关系数据库在进行数据表设计时,为了减少冗余,确保数据一致性、完整性,要求数据表的设计符合规范(比如3NF),为了遵循这些规范,往往需要将数据分离到多张表中。然而在实际应用中,又往往需要将多张表的相关数据提取、聚合后一起提供给用户,即需要多表查询。多表查询的本质是多张表通过关联的列的连接,所以多表查询也称为连接查询。1.使用内连接(INNERJOIN)进行多表查询

高级查询多表(连接)查询的语法格式有如下两种:1.使用内连接(INNERJOIN)进行多表查询第一种语法格式: SELECT*|字段列表 FROM表名1 [连接类型]JOIN表名2ON连接条件 [[连接类型]JOIN表名3ON连接条件][…] WHERE查询条件;第二种语法格式: SELECT*|字段列表 FROM表名1,表名2[,表名3,…表名n] WHERE连接条件 AND查询条件;

高级查询说明:查询时所有的字段都必须要明确,为了区分多张表中出现的重复字段名,可以在字段列表中使用“表名.字段名”的形式;星号(*)表示的是多张表中的所有字段,如果要指定某一张表中是所有字段,可以使用“表名.*”的形式。连接类型主要包括:内连接(INNER)、左外连接(LEFTOUTER)、右外连接(RIGHTOUTER)等。为了增加可读性,可以对数据表使用别名进行引用。表的别名的使用方法是在表名的后面直接加上一个别名,原名与别名之间用空格隔开;一旦使用了别名代替某个表,则在连接时必须用表的别名,不能再用表的原名。1.使用内连接(INNERJOIN)进行多表查询

高级查询内连接(INNERJOIN)查询是最常用的多表查询形式。内连接(INNERJOIN)是指多个表通过连接条件中共享列的值进行的比较连接,INNER关键字可以省略,当未指明连接类型时,默认为内连接。内连接值显示两个表中所有匹配数据的行。1.使用内连接(INNERJOIN)进行多表查询

操作案例知识点概述示例5-23运行结果如下:使用两种语法格式查询所有女生的学号、姓名、性别、课程ID和成绩。

操作案例知识点概述示例5-24运行结果如下:使用两种语法格式查询学号(sNo)为“1308013101”学生的学号、姓名、性别、班级、课程名称和成绩。

高级查询外连接显示包含来自一个表中所有行和来自另一个表中匹配行的结果集。2.使用外连接(OUTERJOIN)进行多表查询

高级查询外连接主要又分为左外连接和右外连接,说明如下:左外连接(LEFTOUTERJOIN)返回LEFTOUTERJOIN关键字左侧指定的表(左表)的所有行和右侧指定的表(右表)的匹配的行。对于来自左表中的行,在右表中没有发现匹配的行,那么在来自右表中获得数据的列中将显示NULL值。OUTER关键字可以省略。右外连接(RIGHTOUTERJOIN)即在连接两表时,结果集包含RIGHTOUTERJOIN关键字右侧指定的表(右表)的所有行以及左表匹配的行;对于来自右表的行,如果左表无匹配,则左表的数据列将显示NULL。OUTER关键字可以省略。2.使用外连接(OUTERJOIN)进行多表查询

操作案例知识点概述示例5-25运行结果如下:使用两种方式查询“网络131”班学生的学号、姓名、性别、班级、课程ID和成绩(包括没有选修课程的学生信息)。

高级查询MySQL不仅可以查询返回满足条件的记录,还可以对数据进行统计汇总。3.使用统计函数对数据进行统计汇总

操作案例知识点概述示例5-26运行结果如下:统计student表中的男生人数。

操作案例知识点概述示例5-27运行结果如下:统计course表中的课程总数、以及备注(remark)不为空的课程总数。

操作案例知识点概述示例5-28运行结果如下:通过score表统计已选修课程的学生人数。

操作案例知识点概述示例5-29运行结果如下:统计学号(sNo)为“1308013101”的学生选修课程的门数、最高分、最低分、平均分和总分。

高级查询使用GROUPBY子句,可以显示分组的汇总数据。该子句的功能是按照指定的字段,先将数据分成多个组(相同字段的值为

文档评论(0)

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

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

1亿VIP精品文档

相关文档