教据库系统概论 第三章关系数据库标准语言 SQL(2) 计算机科学与技术学院
计算机科学与技术学院 数据库系统概论 第三章 关系数据库标准语言 SQL (2)
33查询 3.3.1概述 33.2单表查询 3.3.3连接查询 3.3.4嵌套查询 3.35集合查询 3.3.6小结
3.3 查 询 ◼ 3.3.1 概述 ◼ 3.3.2 单表查询 ◼ 3.3.3 连接查询 ◼ 3.3.4 嵌套查询 ◼ 3.3.5 集合查询 ◼ 3.3.6 小结
333连接查询 同时涉及多个表的查询称为连接查询 用来连接两个表的条件称为连接条件或连接谓词 般格式: n[]列名1>[] 比较运算符:=、>、=、] BETWEEN[] AND[]
3.3.3 连接查询 同时涉及多个表的查询称为连接查询 用来连接两个表的条件称为连接条件或连接谓词 一般格式: ◼ [.] [.] 比较运算符:=、>、=、.] BETWEEN [.] AND [.]
连接查询(续) ■连接字段 ■连接谓词中的列名称为连接字段 ■连接条件中的各连接字段类型必须是可比的, 但不必是相同的
连接查询 (续) ◼ 连接字段 ◼ 连接谓词中的列名称为连接字段 ◼ 连接条件中的各连接字段类型必须是可比的, 但不必是相同的
■连接操作的执行过程 嵌套循环法( NESTED-LOOP) n首先在表1中找到第一个元组,然后从头开始扫描表2, 逐一查找满足连接件的元组,找到后就将表1中的第 个元组与该元组拼接起来,形成结果表中一个元组 表2全部查找完后,再找表1中第二个元组,然后再从 头开始扫描表2,逐一査找满足连接条件的元组,找到 后就将表1中的第二个元组与该元组拼接起来,形成结 果表中一个元组 n重复上述操作,直到表1中的全部元组都处理完毕
连接操作的执行过程 ◼ 嵌套循环法(NESTED-LOOP) ◼ 首先在表1中找到第一个元组,然后从头开始扫描表2, 逐一查找满足连接件的元组,找到后就将表1中的第一 个元组与该元组拼接起来,形成结果表中一个元组。 ◼ 表2全部查找完后,再找表1中第二个元组,然后再从 头开始扫描表2,逐一查找满足连接条件的元组,找到 后就将表1中的第二个元组与该元组拼接起来,形成结 果表中一个元组。 ◼ 重复上述操作,直到表1中的全部元组都处理完毕
排序合并法( SORT-MERGE) 常用于=连接 首先按连接属性对表1和表2排序 对表1的第一个元组,从头开始扫描表2,顺序查找 满足连接条件的元组,找到后就将表1中的第一个 元组与该元组拼接起来,形成结果表中一个元组 当遇到表2中第一条大于表1连接字段值的元组时, 对表2的查询不再继续
排序合并法(SORT-MERGE) 常用于=连接 ◼ 首先按连接属性对表1和表2排序 ◼ 对表1的第一个元组,从头开始扫描表2,顺序查找 满足连接条件的元组,找到后就将表1中的第一个 元组与该元组拼接起来,形成结果表中一个元组。 当遇到表2中第一条大于表1连接字段值的元组时, 对表2的查询不再继续
排序合并法 找到表1的第二条元组,然后从刚才的中断点处继 续顺序扫描表2,查找满足连接条件的元组,找到 后就将表1中的第一个元组与该元组拼接起来,形 成结果表中一个元组。直接遇到表2中大于表1连接 字段值的元组时,对表2的查询不再继续 n重复上述操作,直到表1或表2中的全部元组都处理 完毕为止
排序合并法 ◼ 找到表1的第二条元组,然后从刚才的中断点处继 续顺序扫描表2,查找满足连接条件的元组,找到 后就将表1中的第一个元组与该元组拼接起来,形 成结果表中一个元组。直接遇到表2中大于表1连接 字段值的元组时,对表2的查询不再继续 ◼ 重复上述操作,直到表1或表2中的全部元组都处理 完毕为止
索引连接( INDEX-J0IN) 对表2按连接字段建立索引 对表1中的每个元组,依次根据其连接字段 值查询表2的索引,从中找到满足条件的元 组,找到后就将表1中的第一个元组与该元 组拼接起来,形成结果表中一个元组
索引连接(INDEX-JOIN) ◼ 对表2按连接字段建立索引 ◼ 对表1中的每个元组,依次根据其连接字段 值查询表2的索引,从中找到满足条件的元 组,找到后就将表1中的第一个元组与该元 组拼接起来,形成结果表中一个元组
连接查询(续) SQL中连接查询的主要类型 广义笛卡尔积 等值连接(含自然连接) 非等值连接查询 自身连接查询 外连接查询 复合条件连接查询
连接查询 (续) SQL中连接查询的主要类型 ◼ 广义笛卡尔积 ◼ 等值连接(含自然连接) ◼ 非等值连接查询 ◼ 自身连接查询 ◼ 外连接查询 ◼ 复合条件连接查询
、广义笛卡尔积 不带连接谓词的连接 很少使用 例 SeLEct Student x sC, *k FROM Student, sc
一、广义笛卡尔积 ◼ 不带连接谓词的连接 ◼ 很少使用 例: SELECT Student.* , SC.* FROM Student, SC