다른 쿼리 안에 포함된 쿼리로, 주로 외부 쿼리의 결과에 기반하여 내부 쿼리를 실행하고 그 결과를 반환하는데 사용된다.
예시) 서브쿼리를 사용하여 IT 부서의 직원 목록 조회
SELECT emp.name
FROM emp
WHERE dept.id = (
SELECT dept.id
FROM dept
WHERE dept.name="IT"
);
예시) 서브쿼리를 사용하여 평균 급여보다 높은 급여를 받는 직원 목록 조회
SELECT emp.name
FROM emp
WHERE emp.salary > (
SELECT AVG(emp.salary)
FROM emp
);
예시) 부서별, 부서명, 사원리스트, 평균연봉, 최고연봉, 최소연봉, 사원수
SELECT *
FROM (
SELECT D.name, GROUP_CONCAT(E.name), AVG(E.salary)
FROM emp AS E
INNER JOIN dept AS D
ON E.deptId = D.id
GROUP BY D.id
) AS D
WHERE D.평균연봉 >= 5000;