




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用,第三章关系数据库标准语言SQL,3.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:换个角度想问题,思路:从Student表中查询学生的姓名,这个学生应该是选修了2号课程的学生。,思路:从Student表中查询学生的姓名,这个学生应该在选修了2号课程的学生集合里。,3.3.4嵌套查询,【例1】查询选修了2号课程的学生的姓名,方法2:换个角度想问题,(SELECTSnoFROMSCWHERECno=2);,外层查询/父查询,内层查询/子查询,SELECTSnameFROMStudentWHERESno,IN,3.3.4嵌套查询,一、嵌套查询概述一个SELECT-FROM-WHERE语句称为一个查询块将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询,3.3.4嵌套查询,子查询的限制不能使用ORDERBY子句层层嵌套方式反映了SQL语言的结构化有些嵌套查询可以用连接运算替代,不相关子查询子查询的查询条件不依赖于父查询相关子查询子查询的查询条件依赖于父查询,二、嵌套查询分类,3.3.4嵌套查询,三、嵌套查询求解方法,不相关子查询是由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。,3.3.4嵌套查询,相关子查询首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表;然后再取外层表的下一个元组;重复这一过程,直至外层表全部检查完为止。,3.3.4嵌套查询,三、嵌套查询求解方法(续),四、引出子查询的谓词,带有IN谓词的子查询带有比较运算符的子查询带有ANY或ALL谓词的子查询带有EXISTS谓词的子查询,3.3.4嵌套查询,(1)带有IN谓词的子查询(续),【例2】查询选修了课程名为“信息系统”的学生学号和姓名,首先在Course关系中找出“信息系统”的课程号,结果为3号,然后在SC关系中找出选修了3号课程的学生学号,最后在Student关系中取出Sno和Sname,(SELECTCnoFROMCourseWHERECname=信息系统);,(SELECTSnoFROMSCWHERECnoIN,SELECTSno,SnameFROMStudentWHERESnoIN,IN可由=代替,(2)带有比较运算符的子查询,当能确切知道内层查询返回单值时,可用比较运算符(,=,)。与ANY或ALL谓词配合使用,某一个,全部,(3)ANY或ALL谓词的子查询,【例3】查询其他系中比信息系任意一个(某一个)学生年龄小的学生姓名和年龄SELECTSname,SageFROMStudentWHERESageIS;/*注意这是父查询块中的条件*/,(3)ANY或ALL谓词的子查询,ANY和ALL谓词有时可以用集函数实现ANY与ALL与集函数的对应关系,用集函数实现子查询通常比直接用ANY或ALL查询效率要高,因为前者通常能够减少比较次数,IN(SELECTSnoFROMSCWHERECno=2);,SELECTSnameFROMStudentWHERESno,SELECTSnameFROMStudentWHEREEXISTS,(SELECT*FROMSC/*相关子查询*/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”。若内层查询结果非空,则返回真值若内层查询结果为空,则返回假值由EXISTS引出的子查询,其目标列表达式通常都用*,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义2.NOTEXISTS谓词,(4)带有EXISTS谓词的子查询,【例1】查询所有选修了2号课程的学生姓名,SELECTSnameFROMStudentWHEREEXISTS,(SELECT*FROMSCWHERE,思路分析:查询Student中这样的学生姓名,只要在SC表中存在该学生选修1号课程的记录。,Sno=Student.SnoANDCno=1);,(4)带有EXISTS谓词的子查询,【例1】查询所有选修了2号课程的学生姓名,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=1;,等值连接实现:,(4)带有EXISTS谓词的子查询,SELECTSnameFROMStudentWHERE(SELECT*FROMSCWHERESno=Student.SnoANDCno=1);,NOTEXISTS,【例4】查询没有选修2号课程的学生姓名,思路分析:查询Student中这样的学生姓名,只要在SC表中不存在该学生选修1号课程的记录。,(4)带有EXISTS谓词的子查询,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno1;,【例4】查询没有选修2号课程的学生姓名,Student表,SC表,SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno=1);,结果表,刘晨,王敏,张立,Student表,SC表,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno1;,结果表,李勇,(4)带有EXISTS谓词的子查询,3.不同形式的查询间的替换所有带IN谓词、比较运算符、ANY和ALL谓词的子查询都能用带EXISTS谓词的子查询等价替换。一些带EXISTS或NOTEXISTS谓词的子查询不能被其他形式的子查询等价替换,(4)带有EXISTS谓词的子查询,4.用EXISTS()/NOTEXISTS实现全称量词()谓词:P(x1,x2,xn)被称为n元谓词。其中P是谓词,代表一个确定的特征或关系(名)。x1,x2,xn称为谓词的参量,一般表示个体。,Like(I,Music),例如:“我喜欢音乐”,(4)带有EXISTS谓词的子查询,4.用EXISTS()/NOTEXISTS实现全称量词()如果谓词公式P(x)对于所有可能变量x都具有值,则用(x)P(x)表示。对于谓词公式P(x),至少有一个变元X可使P(x)为T值,则用(x)P(x)表示。,(4)带有EXISTS谓词的子查询,(x)P(x(P),(x)P:,例如:表示谓词“学生选修了课程A”,不存在这样的学生,没有选修课程A,(x(P),全部学生都选修了课程A,(4)带有EXISTS谓词的子查询,【例5】检索全部学生都选修的课程号与课程名,SELECTCno,CnameFROMCourseWHERENOTEXISTS(SELECT*FROMStudentWHERENOTEXISTS(SELECT*FROMSC,(x)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市第一人民医院招聘考试真题2024
- 钢带考试题及答案
- 现代金融基础习题(附答案)
- 道路危险货物运输从业人员岗前三级培训考核试题(附答案)
- 非高危行业安全员培训考试试题及答案
- 2025版公共设施维护与维修合同模板
- 2025拆旧房屋拆除工程拆除作业拆除物运输合同范本
- 2025年度房产开发公司员工劳动合同范本
- 2025年度平面广告设计制作及版权授权合同
- 2025版滩涂地海上风电土地承包使用合同
- 2024-2029年亚麻行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 教案教学策略与方法
- 行政法与行政诉讼法案例教程 课件全套 殷兴东 第1-8章 行政法的基本原理-行政赔偿
- 高中新班主任培训
- 新媒体运营与推广- 课程标准、授课计划
- 肝脏中医知识讲座
- 粉尘清扫记录-带说明
- 可视喉镜培训课件
- 《怎样听课评课》课件
- DB64+1841-2022+养老机构分级护理服务规范
- 《茶文化与茶健康》第一讲
评论
0/150
提交评论