05-3 SQL语言数据查询_集合查询、嵌套查询

目录

3.集合查询

3.1并运算union

3.2交运算intersect

3.3差运算except

4.嵌套查询

4.1不相关子查询和相关子查询

4.2集合的比较

4.3关系测试

 4.4重复元组存在性测试

 4.5 FROM子句中的子查询

4.6 WITH子句

4.7 标量子查询

 4.8 将子查询应用于数据更新中

 


 本节继续介绍集合查询和嵌套查询的相关内容,也是数据查询的最后一个板块。


3.集合查询

SQL 作用在关系上的union,intersect和except 运算分别对应于数学集合论中的∪,∩和 −。

3.1并运算union

 

 union会自动去除重复,union all保留重复

 

3.2交运算intersect

 intersect all保留重复

3.3差运算except

 值得注意的是,

SQL Server数据库中支持关键字:union、intersect和except

MySQL数据库只支持union关键字!

4.嵌套查询

4.1不相关子查询和相关子查询

不相关子查询:子查询的查询条件不依赖于父查询

◼ 由里向外逐层处理。

◼ 即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件

例如,

找出在2017年秋季和2018年春季同时开设的所有课程的集合

找出在2017年秋季学期开设但不在2018年春季学期开设的所有课程

 相关子查询:子查询的查询条件依赖于父查询

➢ 首先取外层查询中表的第一个元组,根据它与内层查询相关的属性

值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果

表;

➢ 然后再取外层表的下一个元组;

➢ 重复这一过程,直至外层表全部检查完为止。

4.2集合的比较

 

 

 

4.3关系测试

空关系测试

 

 

 

 4.4重复元组存在性测试

 

 4.5 FROM子句中的子查询

 

 

 

 

4.6 WITH子句

WITH子句提供定义临时关系的方法。

f定义只对包含WITH子句的查询有效。

fWITH子句在SQL:1999中引入,目前有许多数据库系统多提供了支持,MySQL除外。

 

4.7 标量子查询

 

 4.8 将子查询应用于数据更新中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值