作用:
把外层的查询结果拿到内层,看内层的查询是否成立
select * from dept d where exists (select * from emp e where d deptno =e.parent_deptno);
这部分不能单独拿出来运行
select * from emp e where d deptno =e.parent_deptno 依赖的是dept
exists 存在
一条一条扫描完
等于(10、20、30、40) 跟每一个做比较
exists 不用全部扫描 ,就知道这些职工在哪些部门了
相关于查询:
也就是说这种子查询是不能独立运行的,是和外部有关系的
非相关子查询:
也就是说这种子查询是可以独立运行的,典型代表就是in