
数据库系统概论AnIntroduction to Database System第三章关系数据库标准语言SQL(续1)001O1中国人民大学信息学院
An Introduction to Database System 数据库系统概论 An Introduction to Database System 中国人民大学信息学院 第三章 关系数据库标准语言SQL (续1)

第三章关系数据库标准语言SQL3.1SQL概述学民大3.2学生-课程数据库3.3数据定义3.4数据查询数据库系统概论3.5数据更新3.6空值的处理3.7视图3.8小结AnIntroductiontoDatabaseSystem
An Introduction to Database System 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 学生-课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.8 小结

3.4 数据查询3.4.1单表查询人民大学3.4.2连接查询3.4.3嵌套查询系统概论3.4.4集合查询3.4.5基于派生表的查询3.4.5Select语句的一般形式AnIntroductiontoDatabaseSystem
An Introduction to Database System 3.4 数据查询 3.4.1 单表查询 3.4.2 连接查询 3.4.3 嵌套查询 3.4.4 集合查询 3.4.5基于派生表的查询 3.4.5 Select语句的一般形式

3.4.2连接查询*连接查询:同时涉及两个以上的表的查询心连接条件或连接谓词:用来连接两个表的条件一般格式:[.][.][.]BETWEEN[.]AND[.]心连接字段:连接谓词中的列名称连接条件中的各连接字段类型必须是可比的,但名字不必相同An Introductionto Database System
An Introduction to Database System 3.4.2 连接查询 ❖连接查询:同时涉及两个以上的表的查询 ❖连接条件或连接谓词:用来连接两个表的条件 一般格式: ◼ [.] [.] ◼ [.] BETWEEN [.] AND [.] ❖连接字段:连接谓词中的列名称 ◼ 连接条件中的各连接字段类型必须是可比的,但名字不 必相同

(续)连接查询1.等值与非等值连接查询2.自身连接数据库系统概论3.外连接4.多表连接AnIntroductiontoDatabaseSystem
An Introduction to Database System 连接查询(续) 1.等值与非等值连接查询 2.自身连接 3.外连接 4.多表连接

1.等值与非等值连接查询心等值连接:连接运算符为=「例3.49]查询每个学生及其选修课程的情况SELECTStudent.*,SC.FROMStudent,SCWHEREStudent.Sno =SC.Sno;猪车AnIntroductiontoDatabaseSystem
An Introduction to Database System 1. 等值与非等值连接查询 ❖等值连接:连接运算符为= [例 3.49] 查询每个学生及其选修课程的情况 SELECT Student.* , SC.* FROM Student, SC WHERE Student.Sno = SC.Sno;

(续)等值与非等值连接查询查询结果:CnoStudent.SnoSsexSdeptSC.SnoGradeSnameSage男李勇20192CS201215121201215121男李勇20CS285201215121201215121男3李勇2088CS201215121201215121女刘晨19290CS201215122201215122女3刘晨19CS80201215122201215122An Introduction to Database System
An Introduction to Database System 等值与非等值连接查询(续) Student.Sno Sname Ssex Sage Sdept SC.Sno Cno Grade 201215121 李勇 男 20 CS 201215121 1 92 201215121 李勇 男 20 CS 201215121 2 85 201215121 李勇 男 20 CS 201215121 3 88 201215122 刘晨 女 19 CS 201215122 2 90 201215122 刘晨 女 19 CS 201215122 3 80 查询结果:

连接操作的执行过程(1)嵌套循环法(NESTED-LOOP)■首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找满足连接件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。■表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到表1中的全部元组都处理完毕注:连接操作的执行过程,在第九章关系查询处理和查询优化中将比较详细地讲解,在爱课程网9.1节中还有《连接操作的实现》的动画。这里只是先简单介绍一下。AnIntroductionto DatabaseSystem
An Introduction to Database System 连接操作的执行过程 (1)嵌套循环法(NESTED-LOOP) ◼ 首先在表1中找到第一个元组,然后从头开始扫描表2,逐 一查找满足连接件的元组,找到后就将表1中的第一个元 组与该元组拼接起来,形成结果表中一个元组。 ◼ 表2全部查找完后,再找表1中第二个元组,然后再从头开 始扫描表2,逐一查找满足连接条件的元组,找到后就将 表1中的第二个元组与该元组拼接起来,形成结果表中一 个元组。 ◼ 重复上述操作,直到表1中的全部元组都处理完毕 注:连接操作的执行过程,在第九章 关系查询处理和查询优化中将比较详细 地讲解,在爱课程网9.1节中还有《连接操作的实现》的 动画。这里只是先 简单介绍一下

(续)连接操作的执行过程(2)排序合并法(SORT-MERGE)常用于=连接首先按连接属性对表1和表2排序对表1的第一个元组,从头开始扫描表2,顺序查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。当遇到表2中第一条大于表1连接字段值的元组时,对表2的查询不再继续SAnIntroductiontoDatabaseSystem
An Introduction to Database System 连接操作的执行过程(续) (2)排序合并法(SORT-MERGE) ◼ 常用于=连接 ◼ 首先按连接属性对表1和表2排序 ◼ 对表1的第一个元组,从头开始扫描表2,顺序查找满足 连接条件的元组,找到后就将表1中的第一个元组与该 元组拼接起来,形成结果表中一个元组。当遇到表2中 第一条大于表1连接字段值的元组时,对表2的查询不再 继续

(续)连接操作的执行过程(2)排序合并法(续)找到表1的第二条元组,然后从刚才的中断点处继续顺序扫描表2,查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。直接遇到表2中大于表1连接字段值的元组时,对表2的查询不再继续重复上述操作,直到表1或表2中的全部元组都处理完毕为止SAnIntroductiontoDatabaseSystem
An Introduction to Database System 连接操作的执行过程(续) (2)排序合并法(续) ◼ 找到表1的第二条元组,然后从刚才的中断点处继续顺 序扫描表2,查找满足连接条件的元组,找到后就将表1 中的第一个元组与该元组拼接起来,形成结果表中一个 元组。直接遇到表2中大于表1连接字段值的元组时,对 表2的查询不再继续 ◼ 重复上述操作,直到表1或表2中的全部元组都处理完毕 为止