서브쿼리(Subquery)란 메인 쿼리 안에 포함된 또 다른 쿼리입니다. 어떤 데이터를 찾기 위해 사전 조사가 필요할 때 유용합니다. 예를 들어 "회사 전체 평균 급여보다 많이 받는 사람"을 찾으려면, 먼저 "평균 급여를 구하는 쿼리(사전 조사)"를 메인 쿼리의 조건절(WHERE) 안에 넣어야 합니다.
💡 핵심 비유
마트 심부름 속의 미션 어머니가 "슈퍼에 가서 제일 싼 라면을 사와라"라고 했을 때, 1단계로 "무슨 라면이 제일 싼지 확인(서브쿼리)"하고, 2단계로 "그 라면을 구매(메인쿼리)"하는 논리입니다.
🧩 원리 이해하기
Script-1.sql
1
-- WHERE 절 안의 서브쿼리가 먼저 실행되어 평균(5625)을 계산하고,
-- 그 결과를 바탕으로 메인 쿼리가 조건 검색을 수행합니다.
SELECT NAME, SALARY
FROM EMPLOYEES
WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEES);