教据库系统概论 An Introduction to Database System 第三章关系数据库标准语言 sQL(续1) 中国人民大学信息学院 An Introduction to Database System
An Introduction to Database System 中国人民大学信息学院 数据库系统概论 An Introduction to Database System 第三章 关系数据库标准语言 SQL (续1)
3.4数据查询 34.1单表查询 342连接查询 343嵌套査询 344集合查询 345 Select语句的一般形式 An Introduction to Database System
An Introduction to Database System 3.4 数据查询 ❖3.4.1 单表查询 ❖3.4.2 连接查询 ❖3.4.3 嵌套查询 ❖3.4.4 集合查询 ❖3.4.5 Select语句的一般形式
3.4.2连接查询 今连接查询:同时涉及多个表的查询 ◆连接条件或连接谓词:用来连接两个表的条件 一般格式: 表名1>]列名1><比较运算符>[表名2>]列名2> [表名1]列名1 BETWEEN[表名2>]列名2>AND[表名2>]列名3> ◆连接字段:连接谓词中的列名称 连接条件中的各连接字段类型必须是可比的,但名字不必是相同的 An Introduction to Database System
An Introduction to Database System 3.4.2 连接查询 ❖ 连接查询:同时涉及多个表的查询 ❖ 连接条件或连接谓词:用来连接两个表的条件 一般格式: ◼ [<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2> ◼ [<表名1>.]<列名1> BETWEEN [<表名2>.]<列名2> AND [<表名2>.]<列名3> ❖ 连接字段:连接谓词中的列名称 ◼ 连接条件中的各连接字段类型必须是可比的,但名字不必是相同的
连接操作的执行过程 令嵌套循环法( NESTED-LOOP) 首先在表1找到第一个元组,然后从头开始扫描表2,逐一査找 满足连接件的元组,找到后就将表1中的第一个元组与该元组拼 接起来,形成结果表中一个元组。 表2全部査找完后,再找表1中第二个元组,然后再从头开始扫描 表2,逐一査找满足连接条件的元组,找到后就将表1中的第二个 元组与该元组拼接起来,形成结果表中一个元组 重复上述操作,直到表1中的全部元组都处理完毕 An Introduction to Database System
An Introduction to Database System 连接操作的执行过程 ❖ 嵌套循环法(NESTED-LOOP) ▪ 首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找 满足连接件的元组,找到后就将表1中的第一个元组与该元组拼 接起来,形成结果表中一个元组。 ▪ 表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描 表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个 元组与该元组拼接起来,形成结果表中一个元组。 ▪ 重复上述操作,直到表1中的全部元组都处理完毕
排序合并法( SORT-MERGE) 常用于=连接 首先按连接属性对表1和表2排序 对表1的第一个元组,从头开始扫描表2,顺序査找满足 连接条件的元组,找到后就将表1中的第一个元组与该 元组拼接起来,形成结果表中一个元组。当遇到表2中 第一条大于表1连接字段值的元组时,对表2的查询不再 继续 An Introduction to Database System
An Introduction to Database System 排序合并法(SORT-MERGE) 常用于=连接 ▪ 首先按连接属性对表1和表2排序 ▪ 对表1的第一个元组,从头开始扫描表2,顺序查找满足 连接条件的元组,找到后就将表1中的第一个元组与该 元组拼接起来,形成结果表中一个元组。当遇到表2中 第一条大于表1连接字段值的元组时,对表2的查询不再 继续