版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理Database Principles第三章关系数据库标准语言SQL继续1,3.3查询,3.3.1概要3.3.2单表查询3.3.3连接查询3.3.4嵌套查询3.3.5集合查询在云同步中包含多个表.比较运算符:=、 BETWEEN . AND .连接查询(续)、连接字段连接谓词的列名必须能够与连接字段连接条件的各种类型进行比较嵌套分组法(NESTED-LOOP )首先是表1中的第一个元组然后表2从头开始扫描,以逐一寻找满足连接器的元组,并且将表1的第一个元组和该元组连接起来以形成结果表中的一个元组。 表2在全部检索完成后,查找表1的第二个元组,然后从头扫描表2,逐一查找满足连接条件的元
2、组,并将表1的第二个元组与找住的连接起来以形成结果表的一个元组。 重复以上操作,在表1中的所有元组都已处理之前,排序法(SORT-MERGE将表1和表2按连接属性对连接目的地进行排序,从头开始扫描表2,依次查找满足连接条件的元组,找住的等表1中的第一个元组及其元组在表2中的第一条遇到大于表1的连接字段值的元组的情况下,对于表2的询问法无法继续,排序合成法,找到表1的第二条元组,从刚才的程序断点开始依次扫描表2,找到满足连接条件的元组,将找住的等表1中的第一个元组连接起来直接遇到大于表2的表1的连接字段值的元组时,表2的询问法目录索引连接(INDEX-JOIN ),直到处理了表1或表2的所有元组
3、,按表2的连接字段来标记表1的每个元组,并基于其连接字段值来化学基表2 如果找到满足条件的元组,则将表1中的第一个元组与该元组连接起来以形成结果表中的一个元组,包括连接查询(接着)、SQL中的连接查询的主要类型的广义直积当且仅当连接(包括自然连接)异步连接查询自身连接查询复合条件连接查询不具有广义笛卡儿积连接谓词的连接的使用例很少: SELECT Student.*,SC.* FROM Student,SC,2,等值与非等值的连接查询、等值连接、自然连接、非等值连接例32查询各学生及其选择科目的状况。 SELECT Student.*,sc.*来自student,SC WHERE Studen
4、t.Sno=SC.Sno;等效连接、连接运算符=的连接操作.=.在任何子句中引用表1和表2中的同名属性时,必须使用表名前缀。 如果引用唯一的属性名称,可以添加或省略表名前缀。 等值连接,假设Student表、SC表分别为Student表、等值连接、SC表, 等值连接结果表student.snosnamessexsagesdeptsc.snocnograde 95001李勇男20cs950019295001李勇男20CS95001 2 85 95001李勇男20CS95001 3 88 95002刘晨女19is 在19IS95002 3 80、自然连接、等值连接的特殊情况下,删除营销对象列中重复
5、的属性列。 例33对例32由自然连接完成。SELECT Student.Sno、Sname、Ssex、Sage、Sdept、Cno、Grade FROM Student (从上游到下游), scwherestudent.sno=sc .非等值连接查询,连接运算符不是=的连接关操作字.比较运算符:BETWEEN . AND .三,自连接,表和自连接,称为表的自连接, 必须使用别名前缀,因为所有propy腻子粉名称都是同名的propy腻子粉。示例34每个类的间接先修类(即先修类的先修类) SELECT FIRST.Cno、SECOND.Cpno FROM Course FIRST、 CourseS
6、ECONDwhereFIRST.cpno=,询问法自连接(续)、first表(Course表)、自连接(续)、second表(course表)、自连接(续)、查询结果17356,以及将外连接主体表中不满足连接条件的元组一并输出,外部连接(续),例33与各学生询问法其选修课程时包含没有选修课程的学生-通过外部连接将SELECT Student.Sno、Sname、Ssex、Sage、Sage 结果: student.snosnamessexsagesdeptcnograde 95001李勇男20 CS 1 92 95001李勇男20 CS 2 85 95001李勇男20 CS 3 88 9500
7、2刘晨女19 IS 2 90 95002刘晨女19 I S 3 80 95003王95004张立男19 IS,外接(续),表名后跟外接操作符(* )或(),指定非主体表非主体表有“万能”的虚行,该行全部由空值构成,主体表中来自不满足所有结合条件的非主体表的属性值全部为null 左外连接外连接端子是连接条件的左右右外连接外连接端子出现在连接条件的右、五、复合条件连接中,在WHERE子句中包含多个连接条件的情况下,被称为复合条件连接例35,修完2号课程成绩为90分以上的全体学生的学号,询问法姓名selee的student.sname frre SC WHERE Student.Sno=SC.Sno
8、 AND /*连接谓词*/SC.Cno=2 AND /*其他极限条件* /*其他极限条件*/*多表连接,示例36询问法每个学生的学号、姓名、所选课程名称和成绩。 SELECT Student.Sno、Sname、Cname、Grade FROM Student、SC,这些都是我们的选择。 coursewherestudent.SnO= ame结果: student.snosnamecnamegrade 95001李勇数据库92 95001李勇数学85 95001李勇情报系统88 95002刘晨数学90 95002刘3.3询问法,3.3.1概述3.3.2单表查询3.3
9、.3连接查询3.3.4嵌套查询3.3.5集合查询3.3.6总结3.3.4嵌套查询概述嵌套查询分类嵌套查询方法引出嵌套查询概述select-select 一个查询摇滾乐嵌套在另一个查询摇滾乐的WHERE或HAVING子句条件中的查询称为嵌套查询、嵌套查询(续)、SELECT Sname外部查询/父查询fromstudentwhere。 限制子查询无法使用ORDER BY子句层嵌套方法有些嵌套查询反映了SQL语言的结构,可以用连接运算替换它们。 嵌套查询分类、不相关子查询子查询的查询条件与父查询无关。 嵌套查询解决方法,非相关子查询从内到外处理。 也就是说,每个子查询都在高级查询处理之前解析,子查
10、询的结果用于为父查询创建搜索条件。的双曲馀弦值。 嵌套查询的解决方法(续) 相关子查询首先从外部查询的表中获取第一个元组,根据与内部查询相关的属性值处理内部查询,如果WHERE子句的返还值为true,则将该元组放入结果表,然后从外部表中获取下一个元组引出子查询的谓词,带有IN谓词的子查询带有比较运算符的子查询ANY或ALL谓词的子查询带有EXISTS谓词的子查询,带有1,IN谓词的子查询,例如37查询与“刘晨”在同一学部学习的学生。 此询问法要求分阶段确定“刘晨”所在系名selectsdeptfromstudentwheresname=刘晨。 其结果,Sdept IS,具有IN谓词的子查询(继
11、续)检索在IS系学习的所有学生。 SELECT Sno、Sname、sdept from student无线设定=is。 结果: Sno Sname Sdept 95001刘晨IS 95004 张立IS,建构嵌套查询,选择第一步查询作为第二步查询的条件SELECT Sno、Sname、sdeptfromstudentwheresdeptin DBMS在解开该查询时也分阶段进行。 带有IN谓词的子查询(接着),通过自我连接请求本查询SELECT S1.Sno,S1.Sname,S1.Sdept FROM Student S1, 完成students2wheresere的带有IN谓词的子查询(续)
12、,父查询和子查询的表别名为SELECT Sno,Sname, 可以定义sdeptfromstudents1wheres1. sdept IN (selectsdeptfromstudents2)的带有in谓词的子查询(续),例如38查询选择课程名为“情报系统”的学生学号和名称SELECT Sno Sname最后在Student关系中表示FROM Student是Sno和sname where Sno in (选择SnO, 然后在SC关系中选择FROM SC完成第三课程的学生的学生编号WHERE Cno IN (SELECT Cno首先在Course关系中“信fff,IN带谓词子查询(续)”,结
13、果: Sno Sname - - 95001李勇95002刘晨如果确定内部查询返回单个值,则可以使用比较运算符(、=)。与ANY或ALL谓词一起使用并带有比较运算符的子查询(续) 例:假设学生只能用一个系统学习,必须属于一个系统,则在例37中,IN : SELECT Sno,Sname, 可以使用=代替sdeptfromstudd,带有比较运算符的子查询(续),子查询必须在比较符后面出现错误的示例: SELECT Sno、Sname、sdeptfromstudentwhere (selectsdeptfrome 具有ANY或ALL谓词的子查询,谓词语义ANY :任意值ALL :所有值,具有ANY或ALL谓词的子查询(续),比较运算符ANY大于子查询结果的值ALL的子查询结果的所有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全球矿业设备行业分析报告
- 整装如何营销
- 小学突发安全事故应急预案
- 人工智能+自主核心硬件产业链研究报告
- 2026年新修订《中华人民共和国环境保护法》有奖知识竞赛试卷附参考答案
- 浙江一月学业水平试题及答案
- 高中生必知:伤口清洗知识测试题及答案
- 步态心理测试相关题目和答案
- 某陶瓷厂工艺管理准则
- 十二指肠营养管的护理
- 四年级上册语文课文必背内容
- 患者隐私保护培训课件
- T-SCPTJGJ 001-2024 桑葚(果) 酒标准
- 50吨门式起重机拆除施工方案样本
- 2024年度2024行政复议法培训
- 合同签署确认
- YY/T 1833.4-2023人工智能医疗器械质量要求和评价第4部分:可追溯性
- 中药的贮藏与养护技术-中药饮片保管与养护
- 公有云技术应用PPT高职完整全套教学课件
- 2023年中学法制副校长法制教育报告:严以律纪远离违法做守法公民
- 怒江水电开发的工程伦理案例分析
评论
0/150
提交评论