文档介绍:An Introduction to Database System 河南财经政法大学数据库系统概论 An Introduction to Database System 第三章关系数据库标准语言 SQL (续1) An Introduction to Database System 数据查询? 单表查询? 连接查询? 嵌套查询? 集合查询? Select 语句的一般形式 An Introduction to Database System 连接查询?连接查询:同时涉及多个表的查询?连接条件或连接谓词:用来连接两个表的条件一般格式: ?[<表名 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 连接查询(续) 一、等值与非等值连接查询二、自身连接三、外连接四、复合条件连接 An Introduction to Database System 一、等值与非等值连接查询?等值连接: 连接运算符为= [例 33] 查询每个学生及其选修课程的情况 SELECT Student. *, SC. * FROM Student , SC WHERE = ; An Introduction to Database System 等值与非等值连接查询(续) 80 3200215122 CS 19 女刘晨 200215122 90 2200215122 CS 19 女刘晨 200215122 88 3200215121 CS 20 男李勇 200215121 85 2200215121 CS 20 男李勇 200215121 92 1200215121 CS 20 男李勇 200215121 o SC. Sno Sdept Sage Ssex Sname Student. Sno 查询结果: