什么决定查询是嵌套的还是相关的?

时间:2015-08-24 17:04:49

标签: database nested-queries

我已经通过了大量资源来研究INExists,但对于决定查询是否与之相关的内容仍有一些混淆

如果我添加如下声明:

select * from emp where empno NOT IN (select mgr from emp)

它不返回任何数据。然而,

SELECT * FROM emp e1 where NOT EXISTS (select * from emp e2 where e1.empno=e2.mgr)

返回8行数据。

据我所知,第二个是相关查询(对于外部查询的每一行,内部查询执行)。我的问题是,是什么决定查询是以嵌套还是相关的方式运行?

如果内部查询具有与外部表列相关的条件,那么无论我们使用IN还是EXISTS,它都将始终充当相关查询?

0 个答案:

没有答案
相关问题