Database/Oracle

[SQL] 서브쿼리

서초록 2021. 11. 11. 18:05

다중행 서브쿼리 : 서브쿼리의 결과가 여러 개인 서브쿼리. 단일값이 아닌 목록을 리턴하기 때문에 값끼리 비교하는 = 연산자와 함께 사용할 수 없다. 

IN

ALL

ANY

EXIST

 

다중 컬럼 서브쿼리 : 여러 필드를 한꺼번에 비교할 수 있어 편리하다. 단, 일괄 비교가 성립하려면 비교대상과 서브쿼리의 컬럼 개수는 반드시 일치해야한다. 

 

 

다중컬럼 다중행 서브쿼리

SELECT ENAME, DEPTNO, SAL
FROM EMP
WHERE (DEPTNO, SAL) IN (
        SELECT DEPTNO, MAX(SAL)
        FROM EMP
        GROUP BY DEPTNO);