SQL
SQL: 인라인뷰
dewstream
2025. 9. 26. 08:00
728x90
※ SQL: Inline view.
안녕하세요. 듀스트림입니다.
기본기도 중요하죠.
그래서 하나씩 작성해보려고 합니다.
오늘 주제는 인라인뷰입니다.
인라인뷰(inline view)는 FROM 절 안에 작성된 서브쿼리를 의미합니다.
1. 기본 예시
SELECT emp.emp_id, emp.emp_name, dept.dept_name
FROM (
SELECT employee_id AS emp_id, employee_name AS emp_name, department_id
FROM employees
WHERE salary > 5000
) emp
JOIN departments dept
ON emp.department_id = dept.department_id;- employees 테이블에서 급여가 5000 이상인 직원만 먼저 인라인뷰로 만듦 (emp 라는 별칭).
- 이후 departments 테이블과 조인해서 부서명을 가져옴.
2. 집계와 함께 사용하는 예시
SELECT dept_id, avg_salary
FROM (
SELECT department_id AS dept_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
) t
WHERE avg_salary > 6000;- 인라인뷰에서 부서별 평균 연봉을 먼저 계산.
- 메인 쿼리에서 평균 연봉이 6000 이상인 부서만 필터링.
3. TOP-N 패턴 (순위/페이징)
SELECT *
FROM (
SELECT employee_id, employee_name, salary,
RANK() OVER (ORDER BY salary DESC) AS rnk
FROM employees
) t
WHERE rnk <= 5;- 인라인뷰에서 급여순 랭크를 매김.
- 메인 쿼리에서 상위 5명만 가져옴.
인라인뷰는 복잡한 쿼리를 단계별로 쪼개서 관리하거나, 집계 → 필터링, 순위 매기기 → 조건절 적용 같은 패턴에서 자주 사용됩니다.
오늘은 여기까지~
728x90