欢迎来到天天文库
浏览记录
ID:58702057
大小:658.00 KB
页数:96页
时间:2020-10-04
《第3章关系数据库标准语言SQLppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、河北经贸大学信息技术学院数据库系统概论AnIntroductiontoDatabaseSystems1河北经贸大学信息技术学院数据库系统概论AnIntroductiontoDatabaseSystem第三章关系数据库标准语言SQL(续1)3.4数据查询3.4.1单表查询3.4.2连接查询3.4.3嵌套查询3.4.4集合查询3.4.5Select语句的一般形式3.4.2连接查询连接查询:同时涉及多个表的查询连接条件或连接谓词:用来连接两个表的条件一般格式:[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>比较运算符:=、>、<、>=、<=、!=[<表名1
2、>.]<列名1>BETWEEN[<表名2>.]<列名2>AND[<表名2>.]<列名3>连接字段:连接谓词中的列名称连接条件中的各连接字段类型必须是可比的,但名字不必是相同的连接操作的执行过程嵌套循环法(NESTED-LOOP)首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到表1中的全部元组都处理完
3、毕排序合并法(SORT-MERGE)常用于等值连接首先按连接属性对表1和表2排序对表1的第一个元组,从头开始扫描表2,顺序查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。当遇到表2中第一条大于表1连接字段值的元组时,对表2的查询不再继续排序合并法找到表1的第二条元组,然后从刚才的中断点处继续顺序扫描表2,查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。直接遇到表2中大于表1连接字段值的元组时,对表2的查询不再继续重复上述操作,直到表1或表2中的全部元组都处理完毕为止索引连接(INDE
4、X-JOIN)对表2按连接字段建立索引对表1中的每个元组,依次根据其连接字段值查询表2的索引,从中找到满足条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组连接查询(续)一、等值与非等值连接查询二、自身连接三、外连接四、复合条件连接一、等值与非等值连接查询等值连接:连接运算符为=[例33]查询每个学生及其选修课程的情况SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno;等值连接连接运算符为=的连接操作[<表名1>.]<列名1>=[<表名2>.]<列名2>任何子句中引用表1和表2中
5、同名属性时,都必须加表名前缀。引用唯一属性名时可以加也可以省略表名前缀。等值与非等值连接查询(续)Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade200215121李勇男20CS200215121192200215121李勇男20CS200215121285200215121李勇男20CS200215121388200215122刘晨女19CS200215122290200215122刘晨女19CS200215122380查询结果:等值与非等值连接查询(续)自然连接:等值连接的一种特殊情况,把目标列中重复的属性列去掉。[例34]对[
6、例33]用自然连接完成。SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno;非等值连接查询连接运算符不是=的连接操作[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>比较运算符:>、<、>=、<=、!=[<表名1>.]<列名1>BETWEEN[<表名2>.]<列名2>AND[<表名2>.]<列名3>连接查询(续)一、等值与非等值连接查询二、自身连接三、外连接四、复合条件连接二、自身连接自身连接:一个表与其自己进行连接需要给表起别名以示
7、区别由于所有属性名都是同名属性,因此必须使用别名前缀[例35]查询每一门课的间接先修课(即先修课的先修课)SELECTFIRST.Cno,SECOND.CpnoFROMCourseFIRST,CourseSECONDWHEREFIRST.Cpno=SECOND.Cno;自身连接(续)FIRST表(Course表)CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64自身连接(续)CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统
此文档下载收益归作者所有