《数据库技术与应用》课件-21.嵌套查询-单值嵌套、多值嵌套_第1页
《数据库技术与应用》课件-21.嵌套查询-单值嵌套、多值嵌套_第2页
《数据库技术与应用》课件-21.嵌套查询-单值嵌套、多值嵌套_第3页
《数据库技术与应用》课件-21.嵌套查询-单值嵌套、多值嵌套_第4页
《数据库技术与应用》课件-21.嵌套查询-单值嵌套、多值嵌套_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌套查询-单值嵌套、多值嵌套查询课程简介2通过本课程的学习,掌握嵌套查询-单值嵌套查询、多值嵌套查询

主要学习内容:一.嵌套查询概述二.单值嵌套查询三.多值嵌套查询嵌套查询概述3在实际应用中,有时候单个SELECT查询语句无法完成即定的查询任务,而需要使用另一个SELECT查询语句的结果集作为其查询条件,这就是所谓的多层查询,称为嵌套查询。外层的SELECT查询语句为父查询,内层的SELECT查询语句为子查询。嵌套查询概述4嵌套查询语法结构如下所示:SELECT<字段列表>/*父查询*/FROM<数据表>WHERE<字段表达式>算术运算符[ANY|ALL]

|

IN(SELECT<字段列表>/*子查询*/FROM<数据表>WHERE<查询条件表达式>)嵌套查询概述5嵌套查询的逻辑执行步骤是由内向外处理,即先处理子查询并得到结果后,再将此结果作为父查询的查询条件。SQLServer允许使用多层嵌套查询,即子查询中还可以嵌套其他子查询。嵌套查询分为单值嵌套和多值嵌套查询。单值嵌套查询6单值嵌套查询是指子查询返回的结果是一个单一的值。当子查询返回的是单值时,可以使用>,<,=,<=,>=,!=或<>等比较运算符参与父查询条件表达式的运算。单值嵌套查询7【例】查询图书类型名称为”教育”的图书信息。代码与运行结果,如图所示:单值嵌套查询8代码中的子查询“SELECTBookTypeIDFROMBookTypeWHEREBookTypeName='教育'”得到的单值结果是BookTypeID=10,如下图所示。单值嵌套查询9所以本代码可以替换成”SELECT*FROMBookInfoWHEREBookTypeID=(10)”,结果如图所示。可以看出两个的结果是一致的。多值嵌套查询10子查询的返回结果是一系列值的嵌套查询称为多值嵌套查询。多值嵌套查询经常使用IN、ANY、ALL操作符。1.使用IN操作符嵌套:IN操作符用于父查询的搜索条件要满足与子查询返回结果集中的某个值相等的情况,NOTIN恰好与其相反。多值嵌套查询11【例】查询其他年级与大二年级任一个用户的用户金额不相等的用户姓名、用户金额、年级。代码与运行结果,如图所示:多值嵌套查询12代码中的子查询“SELECTTotalMoenyFROMUsersWHEREGradeID=2”得到了多值用户金额,分别是(200,400,800),如下图所示。多值嵌套查询13按题目要求只要不等于这几个值就是满足查询条件了。因此可以看到查询出来的这些非大二用户的用户金额均不等于此三个值。多值嵌套查询142.使用带有ANY、ALL操作符嵌套ANY、ALL操作符使用时必须在其前面使用>,<,=,<=,>=,!=或<>等比较运算符。ANY表示任意一个值,ALL表示所有值。ANY和ALL的用法规则(其他的以此类推):>ANY(子查询):即大于子查询结果中的任意一个值即可。>ALL(子查询):即必须大于子查询结果中的所有值方可。多值嵌套查询15【例1】查询其他年级比大二年级任一个用户的用户金额低的用户姓名、用户金额、年级。代码与运行结果,如图所示:多值嵌套查询16子查询的结果是(200,400,800),因此父查询的条件为:TotalMoeny<ANY(200,400,800),意思就是其他年级用户的TotalMoeny值只要比这三个数(200,400,800)中任意一个数小即可满足条件,所以满足条件的用户还是比较多的。多值嵌套查询17【例2】查询其他年级比大二年级所有用户的用户金额都低的用户姓名、用户金额、年级。代码与运行结果,如图所示:多值嵌套查询18比较上一题的代码,本代码只是将ANY修改为ALL,结果却完全不同了,只剩下一个满足条件的记录行。本例的子查询结果没有变化,仍旧是(200,400,800),因此父查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论