第3章_SQL联结查询与嵌套查询

时间:2025-04-18

SQL联结查询与嵌套查询

数据库系统概论An Introduction to Database System第三章 关系数据库标准语言SQL 关系数据库标准语言SQL(续1) 续 )

武汉大学计算机科学与技术学院An Introduction to Database System

SQL联结查询与嵌套查询

3.33.3.1 3.3.2 3.3.3 3.3.4 3.3.5

查询概述 单表查询 连接查询 嵌套查询 集合查询

3.3.6 小结

An Introduction to Database System

SQL联结查询与嵌套查询

3.3.3 连接查询同时涉及多个表的查询称为连接查询 用来连接两个表的条件称为连接条件或连接谓词一般格式:[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2>

比较运算符:=、>、<、>=、<=、!= [<表名1>.]<列名1> BETWEEN [<表名2>.]<列名2> AND [<表名2>.]<列名3>An Introduction to Database System

SQL联结查询与嵌套查询

连接查询连接字段

(续)

连接谓词中的列名称为连接字段 连接条件中的各连接字段类型必须是可比的, 连接条件中的各连接字段类型必须是可比的, 但不必是相同的

An Introduction to Database System

SQL联结查询与嵌套查询

连接操作的执行过程嵌套循环法(NESTED嵌套循环法(NESTED-LOOP) (NESTED首先在表1中找到第一个元组, 然后从头开始扫描表2 首先在表 1 中找到第一个元组 , 然后从头开始扫描表 2 , 逐一查找满足连接件的元组,找到后就将表1 逐一查找满足连接件的元组,找到后就将表1中的第一个 元组与该元组拼接起来,形成结果表中一个元组。 元组与该元组拼接起来,形成结果表中一个元组。 全部查找完后,再找表1中第二个元组, 表 2 全部查找完后 , 再找表 1 中第二个元组 , 然后再从头 开始扫描表2 逐一查找满足连接条件的元组, 开始扫描表2,逐一查找满足连接条件的元组,找到后就 将表1中的第二个元组与该元组拼接起来, 将表1中的第二个元组与该元组拼接起来,形成结果表中 一个元组。 一个元组。 重复上述操作,直到表1 重复上述操作,直到表1中的全部元组都处理完毕An Introduction to Database System

SQL联结查询与嵌套查询

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

An Introduction to Database System

SQL联结查询与嵌套查询

排序合并法找到表1的第二条元组, 找到表 1 的第二条元组 , 然后从刚才的中断点处继续 顺序扫描表2 查找满足连接条件的元组, 顺序扫

描表2 ,查找满足连接条件的元组,找到后就 将表1中的第二个元组与该元组拼接起来, 将表 1 中的第二个元组与该元组拼接起来 , 形成结果 表中一个元组。直接遇到表2中大于表1 表中一个元组。直接遇到表2中大于表1连接字段值的 元组时,对表2 元组时,对表2的查询不再继续 重复上述操作,直到表1或表 或表2中的全部元组都处理 重复上述操作 , 直到表 或表 中的全部元组都处理 完毕为止

An Introduction to Database System

SQL联结查询与嵌套查询

索引连接(INDEX索引连接(INDEX-JOIN) (INDEX对表2按连接字段建立索引 对表 按连接字段建立索引 对表1中的每个元组,依次根据其连接字段 值查询表2的索引,从中找到满足条件的元 组,找到后就将表1中的第一个元组与该元 组拼接起来,形成结果表中一个元组

An Introduction to Database System

SQL联结查询与嵌套查询

连接查询

(续)

SQL中连接查询的主要类型 中连接查询的主要类型 广义笛卡尔积 等值连接(含自然连接 等值连接 含自然连接) 含自然连接 非等值连接查询 自身连接查询 外连接查询 复合条件连接查询

An Introduction to Database System

SQL联结查询与嵌套查询

一、广义笛卡尔积不带连接谓词的连接 很少使用

例:SELECT Student.* , SC.* FROM Student, SC

An Introduction to Database System

SQL联结查询与嵌套查询

二、等值与非等值连接查询等值连接、自然连接、 等值连接、自然连接、非等值连接

[例32] 查询每个学生及其选修课程的情况。SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno = SC.Sno;

An Introduction to Database System

SQL联结查询与嵌套查询

等值连接连接运算符为 = 的连接操作[<表名1>.]<列名1> = [<表名2>.]<列名2> 任何子句中引用表1和表2中同名属性时,都必须加 表名前缀。引用唯一属性名时可以加也可以省略表 名前缀。

An Introduction to Database System

SQL联结查询与嵌套查询

等值连接 假设Student表、SC表分别有下列数据: Student表Sno 95001 95002 95003 95004 Sname 李勇 刘晨 王敏 张立 Ssex 男 女 女 男

Sage Sdept20 19 18 19 CS IS MA IS

An Introduction to Database System

SQL联结查询与嵌套查 …… 此处隐藏:1157字,全部文档内容请下载后查看。喜欢就下载吧 ……

第3章_SQL联结查询与嵌套查询.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    Copyright © 2023-2025 学科文库 版权所有
    本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
    客服QQ:370150219 邮箱:370150219@qq.com
    苏ICP备16052595号-5

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219