30、SQL 子查询:访问与修改数据全解析

SQL 子查询:访问与修改数据全解析

1. 相关子查询

1.1 相关子查询的定义与示例

相关子查询是一种在某种程度上依赖于外部语句的子查询。例如下面的 SQL 语句:

SELECT * FROM CDStock s
WHERE EXISTS
( SELECT Title FROM CDArtists a
WHERE a.ArtistName = 'Joni Mitchell' AND s.CDTitle = a.Title ) ;

在这个例子中,外部语句是主 SELECT 语句,包含 SELECT 子句、 FROM 子句和 WHERE 子句,而子查询引用了外部语句中的 CDStock 表,因此子查询依赖于外部语句来返回数据。

1.2 与独立子查询的对比

大多数子查询是独立于外部语句的,例如:

SELECT * FROM CDStock
WHERE CDTitle IN
( SELECT Title FROM CDArtists WHERE ArtistName = 'Joni Mitchell' ) ;

在这个例子中,子查询仅返回结果,然后在外部语句中使用。子查询只需要评估一次,结果会根据需要被主语句使用。然而,对于相关子查询,子查询通常必须为外部语句返回的每一行重新评估,因为至少

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值