SELECT NAME, DEPTNO, SAL
FROM EMP2
WHERE (DEPTNO, SAL) IN
(SELECT DEPTNO, MAX(SAL)
FROM EMP2
GROUP BY DEPTNO);
메인쿼리와 서브쿼리의 비교 조건을 서브쿼리에 사용하는 표현식
다중 컬럼 서브쿼리에서 사용할 수 없었던 대소비교를 조건설로 전달 가능하게 된다.
사용예시
SELECT P1.NAME, P1.POSITION, P1.PAY
FROM PROFESSOR P1
WHERE PAY > (SELECT POSITION, AVG(PAY)
FROM PROFESSOR P2
WHERE P1.POSITION = P2.POSITION
GROUP BY POSITION);
SELECT NAME, (SELECT AVG(SAL) FROM EMP2)
FROM EMP2
WHERE POSITION = 'INTERN';
SELECT NAME, (SELECT DNAME
FROM DEPT D
WHERE E.DEPTNO = D.DEPTNO)
FROM EMP2 E;
SELECT NAME, (SELECT NAME
FROM PROFESSOR P
WHERE S.PROFNO = P.PROFNO)
FROM STUDENT S;