实例结果如下:
用exists的执行计划如下:
select * from emp a where exists (select 1 from emp b where a.empno=b.empno start with empno=7839 connect by prior empno = mgr);
用in的执行计划如下:
select * from emp a where empno in (select empno from emp b start with empno=7839 connect by prior empno = mgr);
一个走filer一个走hash,这个看来in比较高效,所以在我们写sql过程中in/exists并不是在什么语句中exists都高效的,具体需要看执行计划,选择正确的用法