MySQL数据库原理与应用项目化教程教学课件(共11单元)项目8—高级数据查询.pptxVIP

MySQL数据库原理与应用项目化教程教学课件(共11单元)项目8—高级数据查询.pptx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目八 高级数据查询; 涉及多表数据的查询或复杂的单表查询问题要用高级查询来完成。高级查询包括连接查询、子查询和集合查询等操作,连接查询又分为交叉连接、内连接、外连接和自连接,子查询可以嵌套在查询语句中使用,也可以在更新语句中使用。 本项目将对“学生成绩管理”数据库的数据表作高级查询操作,并在更新语句中应用子查询以实现更强大的数据更新能力。;知识目标: 识记连接查询、子查询、集合查询相关语句的语法。 能力目标: 能用连接查询或子查询解决多表查询或复杂的单表查询问题。 能用集合查询解决一些查询问题。;任务8.1; 任务8.1;;【相关知识】;;;;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.2;;【相关知识】;;;;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.3;;【相关知识】;子查询是指一个查询块嵌套在SELECT、INSERT、UPDATE、DELETE等语句中的WHERE或其他子句中进行查询。SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其他子查询。 根据子查询执行是否依赖于外部查询,子查询可分为相关子查询与不相关子查询两大类。不相关子查询是指不依赖于外部查询的子查询,反之,则称为相关子查询;不相关子查询先于外部查询执行,子查询得到的结果集不会显示,而是传给外部查询使用,不相关子查询总共执行一次;相关子查询的执行依赖于外部查询,即需要外部查询给它传递值,与外部查询正在判断的记录有关,外部查询执行一行,相关子查询就执行一次。;子查询返回的值要被外部查询的[NOT]IN、[NOT]EXISTS、比较运算符、ANY(SOME)、ALL等操作符使用,根据操作符的不同,子查询可以分为以下几种: 1.[NOT]IN子查询 在嵌套查询中,子查询的结果往往是一个集合,用谓词IN判断某列值是否在集合中,这是最常用的一种子查询,IN前面加NOT表示判断某列值是否不在集合中。IN子查询一般是不相关子查询。;2.比较子查询 带有比较运算符的子查询是指外部查询与子查询之间用比较运算符进行连接。当用户确切知道内层查询返回单个值时,可以用、、=、=、=、!=或等比较运算符。比较子查询可能是不相关子查询,也可能是相关子查询,要看具体情况。 3.[NOT]EXISTS子查询 使用EXISTS 谓词来判断子查询是否返回任何记录,当子查询的结果不为空集(即存在匹配行)时,返回逻辑真值。EXISTS前面可以加NOT用来判断是否不存在匹配行。EXISTS子查询是相关子查询。;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.4;;【相关知识】;1.从一个表向另一个表复制多行多列数据 利用子查询,可以把查询结果(一行或多行数据)插入到表中,实现从一个表向另一个表导入数据的功能。 语法格式如下: INSERT INTO 表名[(字段列表)] SELECT语句; 说明: 字段列表中字段的个数、数据类型必须和SELECT语句中查询的数据项个数及数据类型一一对应。;2.嵌套修改 利用子查询返回的单个值,可以实现用查询结果修改表中某个字段值的目的。 语法格式如下: UPDATE 表名 SET 字段名=(返回单个值的子查询) [WHERE 条件];3.UPDATE和DELETE语句的条件子句带子查询 有时候,用UPDATE、DELETE语句修改、删除数据时的筛选条件比较复杂,甚至需要通过另一个表的数据来判断,如果在UPDATE、DELETE语句的条件子句中使用子查询,基本可以满足这种筛选需求。;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.5;;集合查询可以把一些复杂的查询问题简单化,MySQL目前只支持并运算,并运算通俗讲就是合并查询,将多个查询结果合并到一起。 语法格式如下: 查询1 UNION | UNION ALL 查询2 说明: 查询1和查询2的结果集的字段个数和数据类型要一 一对应。 UNION ALL是简单合并,重复行保留,UNION则会合并后去掉重复行。 UNION和JOIN的区别:都是合并操作,但方向不同,前者是行,后者是列。;【任务实施】;【任务实施】;THANKS!

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档