关联子查问和非关联子查问
1、关联子查问
- 阐明
外层查问的每一行数据,外部查问都会再查问一次。
<br/>
-
特点
1、子查问不能独自运行,是和外查问相干的
2、先执行外层查问,再执行内层查问
<br/>
- 示例
如下例,在子查问中用到了外层查问的字段(t.deptno),且不能独自运行 (因为用到了外层查问的字段)
select t.*, t.rowid from dept t where exists (select 1 from emp e where e.deptno = t.deptno);
<br/><br/>
2、非关联子查问
- 阐明
子查问先将值查问进去,而后再返回给外层查问。
<br/>
-
特点
1、子查问能独自运行
2、先执行内层查问,再执行外层查问
<br/>
- 示例
如下所示,子查问的语句能够独自执行 –》select max(e.deptno) from emp e
select t.*, t.rowid from dept t where t.deptno = (select max(e.deptno) from emp e);
<br/>