sql子查询各类型举例精选.pptVIP

  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文档。上传文档
查看更多
sql子查询各类型举例精选

子查询的类型 1、单行子查询:不向外部的SQL语句返回结果,或者只返回一行 2、多行子查询:向外部的SQL语句返回一行或者多行 1、多列子查询:向外部的SQL语句返回多列 2、关联子查询:引用外部的SQL语句中的一列或多列 3、嵌套子查询:位于另外一个子查询中,子查询最多可以嵌套255层 子查询可以放在select语句的where条件中、having条件中、from子句中。 单行子查询 1、子查询放在另外一个查询的where条件中 =就意味着这肯定是一个单行子查询 子查询首先被执行一次(只执行一次),返回一个值,这个值传递给父查询。 单行子查询中也可以使用、、、=、= 2、在having子句中使用子查询 这是一个无关子查询,首先执行子查询,返回一个结果,然后父查询使用这个结果构成一个完整的执行语句。 3、在from子句中使用子查询(内联视图) 子查询执行得到一个数据源,父查询使用这个数据源进行多表的关连查询。 这是一个无关子查询,因此子查询中没有where条件,更谈不上“子查询的where条件中需要父查询的数据才能够完成”。 可能你碰到的两个错误 1、单行查询最多返回一行 2、子查询不能包含order by子句 必须在外部查询中进行排序 多行子查询 可以向外部的SQL语句返回一行或者多行记录。 外部查询可以使用IN、ANY、ALL操作符。 1、在多行子查询中使用IN操作符 检查一个值列表中是否包含指定的值。 NOT IN用来检查在一个值列表中是否不包含指定的值 2、在子查询中使用ANY操作符 在查询any操作符之前,必须使用一个=、、、、=、=操作符 是否有任何员工的工资低于salary_grades表中的任何一级最低工资。 3、在多行子查询中使用ALL操作符 在查询all操作符之前,必须使用一个=、、、、=、=操作符 没有任何员工的工资高于最高工资。 编写多列子查询 编写关联子查询 父查询的执行需要子查询的结果,子查询的执行需要父查询的值。 这样的查询就是关联子查询。 关联子查询的where条件中需要父查询的值。 外部查询的每一行都被一次一行的传递给子查询,子查询依次读取外部查询中的每一行的值,并将其应用到子查询上,直到外部查询中的所有行都被处理完为止。 在关联子查询中使用EXISTS和NOT EXISTS EXISTS操作符用于检查子查询所返回的行的存在性,虽然这个操作符也可以在非关联子查询中使用。但是EXISTS更常用的用法是用于关联子查询中。 检索那些负责管理其他员工的员工记录: 因为只是检查行的存在性,因此可以不使用列,直接使用一个常量,这样提高了性能。 在关联子查询中使用NOT EXISTS 检索从来未曾被购买过的产品 EXISTS和NOT EXISTS与IN和NOT IN的比较 EXISTS的性能要高于IN,因此要尽可能的使用EXISTS,而不是IN。 在编写NOT EXISTS和NOT IN查询时必须谨慎。 当一个值列表包含一个空值时,NOT EXISTS就返回true,而NOT IN则返回false。 使用not exists检索那些在product表中没有任何产品的产品类型: 解决方案 空值 编写嵌套子查询 编程中尽量少使用嵌套子查询技术,因为使用表连接时,查询的性能更高。 三个查询 一个嵌套子查询 一个子查询 一个外部查询 查询顺序从里向外的顺序执行。 编写包含子查询的update、delete语句 1、编写包含子查询的update语句 2、编写包含子查询的delete子句

文档评论(0)

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

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

1亿VIP精品文档

相关文档