oracle的关联子查询
关联子查询会引用外部查询中的一列或多列,这种子查询之所以被称为关联子查询,是因为他的确与外部语句相关。具体实现时,外部查询中的每一行都传输给子查询,子查询依次读取传递过来的每一行的值,并将其应用到子查询上,知道外部查询中的所有行都处理完为止,然后返回子查询结果。
例如:查询各个部门中,哪些员工的工资低于其所在部门的平均工资。
SQL>select empno,ename,sal,deptno from emp outer where sal<(select avg(sal) from emp inner where inner.deptno=outer.deptno)
EMPNO ENAME SAL DEPTNO
---------- ---------- ---------- ----------
7369 SMITH 800 20
7521 WARD 1250 30
7654 MARTIN 1250 30
7782 CLARK 2450 10
7844 TURNER 1500 30
7876 ADAMS 1100 20
7900 JAMES 950 30
7934 MILLER 1300 10
已选择 8 行。
时间: 2024-10-18 06:17:07