第三讲节关系dATA数据库标准语言SQL.pdf
文本预览下载声明
数据库系统概论
An Introduction to Database System
第三章 关系数据库标准语言SQL
(续1)
中国人民大学信息学院
An Introduction to Database System
3.4 数据查询
3.4.1 单表查询
3.4.2 连接查询
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 Select语句的一般形式
An Introduction to Database System
3.4.2 连接查询
连接查询:同时涉及多个表的查询
连接条件或连接谓词:用来连接两个表的条件
一般格式:
[表名1.]列名1 比较运算符 [表名2.]列名2
[表名1.]列名1 BETWEEN [表名2.]列名2 AND [表名2.]列名3
连接字段:连接谓词中的列名称
连接条件中的各连接字段类型必须是可比的,但名字不必是相同的
An Introduction to Database System
连接操作的执行过程
嵌套循环法(NESTED-LOOP)
首先在表1中找到第一个元组,然后从头开始扫描表2 ,逐一查找
满足连接件的元组,找到后就将表1中的第一个元组与该元组拼
接起来,形成结果表中一个元组。
表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描
表2 ,逐一查找满足连接条件的元组,找到后就将表1中的第二个
元组与该元组拼接起来,形成结果表中一个元组。
重复上述操作,直到表1中的全部元组都处理完毕
An Introduction to Database System
排序合并法(SORT-MERGE)
常用于=连接
首先按连接属性对表1和表2排序
对表1的第一个元组,从头开始扫描表2 ,顺序查找满足
连接条件的元组,找到后就将表1中的第一个元组与该
元组拼接起来,形成结果表中一个元组。当遇到表2 中
第一条大于表1连接字段值的元组时,对表2 的查询不再
继续
An Introduction to Database System
排序合并法
找到表1的第二条元组,然后从刚才的中断点处继续顺
序扫描表2 ,查找满足连接条件的元组,找到后就将表1
中的第一个元组与该元组拼接起来,形成结果表中一个
元组。直接遇到表2 中大于表1连接字段值的元组时,对
表2的查询不再继续
重复上述操作,直到表1或表2 中的全部元组都处理完毕
为止
An Introduction to Database System
索引连接(INDEX-JOIN)
对表2按连接字段建立索引
对表1中的每个元组,依次根据其连接字段值查询
表2 的索引,从中找到满足条件的元组,找到后就
将表1中的第一个元组与该元组拼接起来,形成结
果表中一个元组
An Introduction to Database System
连接查询(续)
一、等值与非等值连接查询
二、自身连接
三、外连接
四、复合条件连接
显示全部