서브쿼리를 사용하는 위치에 따라 부르는 이름이 다릅니다. FROM 절에 괄호를 쳐서 가상의 임시 테이블을 즉석으로 만들어내는 것을 인라인 뷰(Inline View)라고 부르며, SELECT 절에서 하나의 컬럼 값처럼 계산해내는 것을 스칼라 서브쿼리(Scalar Subquery)라고 부릅니다.
💡 핵심 비유
즉석 요리 밀키트 DB에 정식 테이블로 저장되어 있지 않지만, FROM 절에서 실시간으로 쿼리를 돌려 튀어나온 결과셋을 마치 원래 있던 테이블인 것처럼 임시로 사용하는 기술입니다.
🧩 원리 이해하기
Script-1.sql
1
-- FROM 절 안에서 부서별 최대 급여를 구하는 가상의 테이블(인라인 뷰)을 생성하고,
-- 메인 쿼리의 직원 테이블과 JOIN하여 부서 내 최고 연봉자를 찾습니다.
SELECT E.NAME, E.SALARY, E.DEPT_ID
FROM EMPLOYEES E
JOIN (SELECT DEPT_ID, MAX(SALARY) AS MAX_SAL
FROM EMPLOYEES GROUP BY DEPT_ID) MAX_DEPT
ON E.DEPT_ID = MAX_DEPT.DEPT_ID
AND E.SALARY = MAX_DEPT.MAX_SAL;