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

相关子查询与不相关子查询有什么区别,第1张

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

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

扩展资料:

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

执行过程:

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

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

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

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

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

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

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

连接查询是

通过主外键

让多个表数据对应

成一个表数据,而子查询是查到的数据

利用这个数据再查别的

如查张三的年级ID

再用这个年级ID去查对应的年级名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9935148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存