数据库原理-嵌套查询.ppt

数据库原理-嵌套查询.ppt

ID:56383004

大小:941.00 KB

页数:33页

时间:2020-06-14

数据库原理-嵌套查询.ppt_第1页
数据库原理-嵌套查询.ppt_第2页
数据库原理-嵌套查询.ppt_第3页
数据库原理-嵌套查询.ppt_第4页
数据库原理-嵌套查询.ppt_第5页
资源描述:

《数据库原理-嵌套查询.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库原理及应用第三章关系数据库标准语言SQL3.1SQL概述3.2数据定义3.3查询3.4数据更新3.5视图3.3查询3.3.1概述3.3.2单表查询3.3.3连接查询3.3.4嵌套查询3.3.5集合查询3.3.6小结3.3.4嵌套查询3.3.4嵌套查询嵌套查询概述嵌套查询分类嵌套查询求解方法引出子查询的谓词3.3.4嵌套查询【例1】查询选修了2号课程的学生的姓名SELECTSnameFROMStudent,SCWHERE方法1:复合条件查询Student.Sno=SC.SnoandCno='2'3.3.4嵌套查询【例1】查询选修了2号课程的学生的姓名方法2:

2、换个角度想问题思路:从Student表中查询学生的姓名,这个学生应该是选修了2号课程的学生。思路:从Student表中查询学生的姓名,这个学生应该在选修了2号课程的学生集合里。3.3.4嵌套查询【例1】查询选修了2号课程的学生的姓名方法2:换个角度想问题(SELECTSnoFROMSCWHERECno='2');外层查询/父查询内层查询/子查询SELECTSnameFROMStudentWHERESnoIN3.3.4嵌套查询一、嵌套查询概述一个SELECT-FROM-WHERE语句称为一个查询块将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条

3、件中的查询称为嵌套查询3.3.4嵌套查询子查询的限制不能使用ORDERBY子句层层嵌套方式反映了SQL语言的结构化有些嵌套查询可以用连接运算替代不相关子查询子查询的查询条件不依赖于父查询相关子查询子查询的查询条件依赖于父查询二、嵌套查询分类3.3.4嵌套查询三、嵌套查询求解方法不相关子查询是由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。3.3.4嵌套查询相关子查询首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表;然后再取外层表的下一个元组;

4、重复这一过程,直至外层表全部检查完为止。3.3.4嵌套查询三、嵌套查询求解方法(续)四、引出子查询的谓词带有IN谓词的子查询带有比较运算符的子查询带有ANY或ALL谓词的子查询带有EXISTS谓词的子查询3.3.4嵌套查询(1)带有IN谓词的子查询(续)【例2】查询选修了课程名为“信息系统”的学生学号和姓名①首先在Course关系中找出“信息系统”的课程号,结果为3号②然后在SC关系中找出选修了3号课程的学生学号③最后在Student关系中取出Sno和Sname(SELECTCnoFROMCourseWHERECname=‘信息系统’));(SELECTSnoF

5、ROMSCWHERECnoINSELECTSno,SnameFROMStudentWHERESnoININ可由‘=’代替(2)带有比较运算符的子查询当能确切知道内层查询返回单值时,可用比较运算符(>,<,=,>=,<=,!=或<>)。与ANY或ALL谓词配合使用某一个全部(3)ANY或ALL谓词的子查询【例3】查询其他系中比信息系任意一个(某一个)学生年龄小的学生姓名和年龄SELECTSname,SageFROMStudentWHERESage'IS';/*注

6、意这是父查询块中的条件*/(3)ANY或ALL谓词的子查询ANY和ALL谓词有时可以用集函数实现ANY与ALL与集函数的对应关系=<>或!=<<=>>=ANYIN--MIN>=MINALL--NOTINMAX>=MAX用集函数实现子查询通常比直接用ANY或ALL查询效率要高,因为前者通常能够减少比较次数IN(SELECTSnoFROMSCWHERECno='2');①SELECTSnameFROMStudentWHERESno②SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSC/

7、*相关子查询*/WHERESno=Student.SnoANDCno='2');1、什么是嵌套查询2、嵌套查询分类不相关子查询相关子查询3、嵌套查询执行方法3.4.3嵌套查询①②4、引出子查询的谓词(4)带有EXISTS谓词的子查询1.EXISTS谓词2.NOTEXISTS谓词3.不同形式的查询间的替换4.☆用EXISTS/NOTEXISTS实现全称量词5.☆用EXISTS/NOTEXISTS实现逻辑蕴函(4)带有EXISTS谓词的子查询1.EXISTS谓词存在量词带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。

8、若内层查询结果非空,则返

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。