云数据库应用(MySQL) 第5章 数据查询(三).pptVIP

云数据库应用(MySQL) 第5章 数据查询(三).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * 1 简单分类查询 语法规则: SELECT 字段列表 FROM 表名 WHERE 条件 GROUP BY 列名1[,…n] 分类的依据是GROUP BY子句中指定的列名来对数据记录进行分类。 例 在xs_kc表中,按选修的课程号对所有选修情况进行分类。 * 2实现统计功能的分类查询 如果只进行简单分类查询,是没有太大意义的。可以将分类查询与统计函数一起使用,以实现统计功能的分类查询。 语法规则: SELECT GROUP_CONCAT(列名) FROM 表名 WHERE 条件 GROUP BY 列名1[,…n]; 其中,GROUP_CONCAT()函数可以显示出每个分组中指定的字段值。 * 例 查询xs_kc表,按课程号进行分组显示,并显示出选修了该课程的学号。 * 3 多字段分类查询 在MySQL中进行分类查询时,除了可以对一个字段进行分类查询外,还可以对多个字段进行分类。 语法规则: SELECT 字段列表 FROM 表名 WHERE 条件 GROUP BY 列名1,列名2,…; 在GROUP BY子句中,按照列出的列名先后次序进行分类。 * 例 查询xsqk表,先按性别进行分类,然后再查年不同性别的学生学了哪些不同的专业。 * 4 采用HAVING子句的分类查询 在MySQL中如果想实现分组的条件限制,采用WHERE是不能够实现的,因为WHERE子句用于实现条件限制数据记录,而不能对分组后的数据记录进行限制。在MySQL中提供了HAVING来实现条件限制分组数据记录。 语法规则: SELECT 字段列表 FROM 表名 WHERE 条件 GROUP BY 列名1,列名2,…; HAVING 条件; 其中,在HAVING子句后的条件就是对分组后数据记录的限定条件。 * 例 在xs_kc表上统计每门课程的平均成绩。 * 例 在xs_kc表上统计平均成绩大于等于60分的课程,并要求显示出选修了该课程的平均成绩、学号和统计出相应的人数 前面所讲述的查询方法都是针对一个表的,但是,在实际应用中的数据查询往往在一个表上无法完成,需要用到多个表的连接才能实现需要的查询功能,比较常见的是通过两张表之间的主外键关系进行连接。连接查询就是把多个表中的行按给定的条件进行连接生成新表。 连接查询分为内连接查询和外连接查询。 * 多表查询 Part 3 1 内连接查询 内连接是将多个表中的共享列值进行比较,把多个表中满足连接条件的记录横向连接起来,作为查询结果。内连接分为自连接、等值连接和非等值连接。 1)自连接 自连接是一种特殊的等值连接,所谓自连接就是指表与其自身进行连接。 例 在xsqk表中,使用自连接方式来查询每个学生的姓名、性别和专业名。 2)等值连接 等值连接就是在关键字where后的匹配条件中,利用等于关系符“=”使得两张表中相同字段的值相等作为连接条件来实现的连接。 例5.58 查询不及格学生的学号、姓名、课程号和成绩信息。 例 使用 NOT BETWEEN AND查询不在1998年出生的学生信息,要求显示出学号、姓名、性别、出生日期和专业名字段。 上述语句采用的是MySQL自身的语法形式,也可以采用ANSI连接的语法形式来实现:mysql select xsqk.学号,姓名,课程号,成绩 - from xsqk inner join xs_kc - on xsqk.学号=xs_kc.学号 - where 成绩60; 3)不等值连接 不等值连接与等值连接相比,就是把匹配的关系运算符“=”改为“、=、、=和!=”形成不等值连接。 例 查询xs_kc表,要求显示出每个学生的两门课程成绩。 采用ANSI的语法形式: mysql select A.学号, A.课程号,A.成绩,B.课程号,B.成绩 - from xs_kc A inner join xs_kc B - on A.学号=B.学号 and A.课程号B.课程号; 2 外连接查询 通过内连接查询的结果是相关表中满足连接条件的行,而外连接查询会返回所操作表中至少一个表的所有数据记录。根据对表的限制情况,外连接可分为左外连接和右外连接。 1)左外连接 左外连接就是在查询结果中显示左边表中所有的记录,以及右边表中符合条件的记录,使用的连接关键字是LEFT JOIN。 * 例 采用左外连接,查询学生的学号、姓名、课程号和成绩信息。 * 2)右外连接 * 右外连接就是在查询结果中显示右边表中所有的记录,以及左边表中符合条件的记录,使用的连接关键字是RIGHT JOIN。 例 采用右外连接,查询成绩不及格学生的学号、姓名、课程号和成绩信息。 谢谢观看 *

文档评论(0)

笑笑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档