FROM절에 오는 Subquery이다.
FROM절에서 원하는 데이터를 조회하여 가상의 집합을 만들어 조인을 수행하거나 가상의 집합을 다시 조회 할 때 사용한다.
Inlivew View 안에 또 다른 Inline View가 올 수 있다.
-- 부서번호 20의 평균 급여보다 크고,
-- 부서번호 20에 속하지 않은 관리자를 조회하는 예제이다.
SELECT b.empno, b.ename, b.job, b.sal, b.deptno
FROM (SELECT empno
FROM emp
WHERE sal >(SELECT AVG(sal)
FROM emp
WHERE deptno = 20)) a, emp b
WHERE a.empno = b.empno
AND b.mgr is NOT NULL
AND b.deptno != 20;
EMPNO ENAME JOB SAL DEPTNO
----- --------- --------- ------- ---------
7698 BLAKE MANAGER 2850 30
7782 CLARK MANAGER 2450 10
- 강좌 URL : http://www.gurubee.net/lecture/1505
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.
저같은 경우엔 셀프조인을 썼는데요
SELECT a.deptno, a.sal, b.deptno, b.sal, b.ename, b.job
FROM emp a JOIN emp b ON (a.empno=b.mgr)
WHERE b.sal > (SELECT AVG(sal)
FROM emp
WHERE deptno=20)
AND b.deptno !=20
근데 이렇게 하면 a.emp 에 대한 부서번화와 급여까지 나와버리는데
셀프조인을 활용한 문구방법은 없을까요?