关联子查询和非关联子查询
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/>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。