




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,数据库原理及应用,.,2,第三章关系数据库标准语言SQL,3.1SQL概述3.2数据定义3.3查询3.4数据更新3.5视图,.,3,3.3查询,3.3.1概述3.3.2单表查询3.3.3连接查询3.3.4嵌套查询3.3.5集合查询3.3.6小结,3.3.4嵌套查询,.,4,3.3.4嵌套查询,嵌套查询概述嵌套查询分类嵌套查询求解方法引出子查询的谓词,.,5,3.3.4嵌套查询,【例1】查询选修了2号课程的学生的姓名,SELECTSnameFROMStudent,SCWHERE,方法1:复合条件查询,Student.Sno=SC.SnoandCno=2,.,6,3.3.4嵌套查询,【例1】查询选修了2号课程的学生的姓名,方法2:换个角度想问题,思路:从Student表中查询学生的姓名,这个学生应该是选修了2号课程的学生。,思路:从Student表中查询学生的姓名,这个学生应该在选修了2号课程的学生集合里。,.,7,3.3.4嵌套查询,【例1】查询选修了2号课程的学生的姓名,方法2:换个角度想问题,(SELECTSnoFROMSCWHERECno=2);,外层查询/父查询,内层查询/子查询,SELECTSnameFROMStudentWHERESno,IN,.,8,3.3.4嵌套查询,一、嵌套查询概述一个SELECT-FROM-WHERE语句称为一个查询块将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询,.,9,3.3.4嵌套查询,子查询的限制不能使用ORDERBY子句层层嵌套方式反映了SQL语言的结构化有些嵌套查询可以用连接运算替代,.,10,不相关子查询子查询的查询条件不依赖于父查询相关子查询子查询的查询条件依赖于父查询,二、嵌套查询分类,3.3.4嵌套查询,.,11,三、嵌套查询求解方法,不相关子查询是由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。,3.3.4嵌套查询,.,12,相关子查询首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表;然后再取外层表的下一个元组;重复这一过程,直至外层表全部检查完为止。,3.3.4嵌套查询,三、嵌套查询求解方法(续),.,13,四、引出子查询的谓词,带有IN谓词的子查询带有比较运算符的子查询带有ANY或ALL谓词的子查询带有EXISTS谓词的子查询,3.3.4嵌套查询,.,14,(1)带有IN谓词的子查询(续),【例2】查询选修了课程名为“信息系统”的学生学号和姓名,首先在Course关系中找出“信息系统”的课程号,结果为3号,然后在SC关系中找出选修了3号课程的学生学号,最后在Student关系中取出Sno和Sname,(SELECTCnoFROMCourseWHERECname=信息系统);,(SELECTSnoFROMSCWHERECnoIN,SELECTSno,SnameFROMStudentWHERESnoIN,IN可由=代替,.,15,(2)带有比较运算符的子查询,当能确切知道内层查询返回单值时,可用比较运算符(,=,)。与ANY或ALL谓词配合使用,某一个,全部,.,16,(3)ANY或ALL谓词的子查询,【例3】查询其他系中比信息系任意一个(某一个)学生年龄小的学生姓名和年龄SELECTSname,SageFROMStudentWHERESageIS;/*注意这是父查询块中的条件*/,.,17,(3)ANY或ALL谓词的子查询,ANY和ALL谓词有时可以用集函数实现ANY与ALL与集函数的对应关系,用集函数实现子查询通常比直接用ANY或ALL查询效率要高,因为前者通常能够减少比较次数,.,18,IN(SELECTSnoFROMSCWHERECno=2);,SELECTSnameFROMStudentWHERESno,SELECTSnameFROMStudentWHEREEXISTS,(SELECT*FROMSC/*相关子查询*/WHERESno=Student.SnoANDCno=2);,1、什么是嵌套查询,2、嵌套查询分类,不相关子查询,相关子查询,3、嵌套查询执行方法,3.4.3嵌套查询,4、引出子查询的谓词,.,19,(4)带有EXISTS谓词的子查询,1.EXISTS谓词2.NOTEXISTS谓词3.不同形式的查询间的替换4.用EXISTS/NOTEXISTS实现全称量词5.用EXISTS/NOTEXISTS实现逻辑蕴函,.,20,(4)带有EXISTS谓词的子查询,1.EXISTS谓词存在量词带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。若内层查询结果非空,则返回真值若内层查询结果为空,则返回假值由EXISTS引出的子查询,其目标列表达式通常都用*,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义2.NOTEXISTS谓词,.,21,(4)带有EXISTS谓词的子查询,【例1】查询所有选修了2号课程的学生姓名,SELECTSnameFROMStudentWHEREEXISTS,(SELECT*FROMSCWHERE,思路分析:查询Student中这样的学生姓名,只要在SC表中存在该学生选修1号课程的记录。,Sno=Student.SnoANDCno=1);,.,22,(4)带有EXISTS谓词的子查询,【例1】查询所有选修了2号课程的学生姓名,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=1;,等值连接实现:,.,23,(4)带有EXISTS谓词的子查询,SELECTSnameFROMStudentWHERE(SELECT*FROMSCWHERESno=Student.SnoANDCno=1);,NOTEXISTS,【例4】查询没有选修2号课程的学生姓名,思路分析:查询Student中这样的学生姓名,只要在SC表中不存在该学生选修1号课程的记录。,.,24,(4)带有EXISTS谓词的子查询,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno1;,【例4】查询没有选修2号课程的学生姓名,.,25,Student表,SC表,SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno=1);,结果表,刘晨,王敏,张立,.,26,Student表,SC表,SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno1;,结果表,李勇,.,27,(4)带有EXISTS谓词的子查询,3.不同形式的查询间的替换所有带IN谓词、比较运算符、ANY和ALL谓词的子查询都能用带EXISTS谓词的子查询等价替换。一些带EXISTS或NOTEXISTS谓词的子查询不能被其他形式的子查询等价替换,.,28,(4)带有EXISTS谓词的子查询,4.用EXISTS()/NOTEXISTS实现全称量词()谓词:P(x1,x2,xn)被称为n元谓词。其中P是谓词,代表一个确定的特征或关系(名)。x1,x2,xn称为谓词的参量,一般表示个体。,Like(I,Music),例如:“我喜欢音乐”,.,29,(4)带有EXISTS谓词的子查询,4.用EXISTS()/NOTEXISTS实现全称量词()如果谓词公式P(x)对于所有可能变量x都具有值,则用(x)P(x)表示。对于谓词公式P(x),至少有一个变元X可使P(x)为T值,则用(x)P(x)表示。,.,30,(4)带有EXISTS谓词的子查询,(x)P(x(P),(x)P:,例如:表示谓词“学生选修了课程A”,不存在这样的学生,没有选修课程A,(x(P),全部学生都选修了课程A,.,31,(4)带有EXISTS谓词的子查询,【例5】检索全部学生都选修的课程号与课程名,SELECTCno,CnameFROMCourseWHERENOTEXISTS(SELECT*FROMStudentWHERENOTEXISTS(SELECT*FROMSC,(x)P(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑规划设计合同协议
- 宅基地房屋转让合同(标准版)
- 雇佣薪资合同(标准版)
- 河南电力医院社会化招聘考试真题2024
- 上海电机学院招聘考试真题2024
- 难点解析人教版八年级物理上册第6章质量与密度-质量章节测试试卷(含答案详解版)
- 公差配合与测量技术 课件 项目4-6 零件的形位公差、零件表面粗糙度、特殊零件的检测
- 浙江省2025金属非金属矿山主要负责人和安全生成管理人员考试冲刺试题及答案
- 2025年勘察设计注册环保工程师考试(物理污染控制专业案例)测试题及答案
- 2025年安徽省建筑施工企业“安管人员”培训考试建筑施工企业自测试题及答案解析
- 判别分析 多元统计分析课件(人大何晓群)
- 作文方格纸400字
- 吉林大学 人工智能原理 下
- 缺血性心肌病患者恶性心律失常及心源性猝死的相关因素分析
- 身份证地区对应码表
- 鲜食玉米产业园建设项目建议书
- 2023年北京高考作文备考:二元话题作文赏析“品德与文化”
- 汽车4S店维修结算清单
- 《LNG操作手册》(完整版)资料
- LY/T 2459-2015枫香培育技术规程
- 法布雷病诊治最新进展课件
评论
0/150
提交评论