相关子查询与不相关子查询有什么区别

 我来答
锋视小戏卦呀6008
2019-09-05 · TA获得超过425个赞
知道小有建树答主
回答量:283
采纳率:97%
帮助的人:59.5万
展开全部

1、查询次数不同,非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。

2、查询效率不同,相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。因此非相关子查询比相关子查询效率高。

扩展资料:

非相关子查询的执行不依赖与外部的查询。 

执行过程: 

(1)执行子查询,其结果不被显示,而是传递给外部查询,作为外部查询的条件使用。 

(2)执行外部查询,并显示整个结果。

非相关子查询一般可以分为:返回单值的子查询和返回一个列表的子查询。

内部查询引用外部查询的表->子查询的执行的次数依赖于外部查询,外部查询每执行一行,子查询执行一次。

某些子查询在交叉表查询中是允许的,特别是谓词(那些在 WHERE 子句中的)。将子查询作为输出(那些列在 SELECT 中的)在交叉表查询中是不允许的。

使用 ALL 谓词只检索主查询中的这些记录,它们满足在子查询中检索的所有记录的比较条件。如果将前一个示例中的 ANY 改为 ALL,查询只会返回单价比全部以 25% 或更高的折扣卖出的产品高的产品。这是更多的限制。

参考资料来源: 百度百科-子查询

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数位汇聚
2023-08-28 广告
1、数位观察新增一个数据搜索平台:数位观察,不用费力的去各个平台找数据,通过这个平台搜索或勾选需要的标签就行,就能找到各个维度的数据。提供12大类、50多万个数据和数据报告(基本上覆盖了市面上所有细分行业)。在网站首页就有全面又详细的数据分... 点击进入详情页
本回答由数位汇聚提供
回憶很美厦400
2019-09-09 · TA获得超过248个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:50.6万
展开全部

相关子查询与不相关子查询区别为:处理次数不同、依赖不同、效率不同。

一、处理次数不同

1、相关子查询:相关子查询的处理不只一次,要反复求值,以供外层查询使用。

2、不相关子查询:不相关子查询的处理总共执行一次,执行完毕后将值传递给外部查询。

二、依赖不同

1、相关子查询:相关子查询中查询条件依赖于外层查询中的某个值

2、不相关子查询:不相关子查询是独立于外部查询的子查询,不依赖于外层查询中的某个值。

三、效率不同

1、相关子查询:相关子查询可以嵌套多层,但嵌套层越多,效率越低。

2、不相关子查询:不相关子查询不可以嵌套,效率相较于相关子查询更高。

参考资料来源:

百度百科——相关子查询

百度百科——子查询

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式