https://school.programmers.co.kr/learn/courses/30/lessons/284529
HR_DEPARTMENT 와 HR_EMPLOYEES 테이블을 이용해 부서별 평균 연봉을 조회하려 한다.
우선 부서별 평균 연봉을 계산한 테이블을 만들어보자.
그리고 이것을 DEPT_AVG 라는 테이블에 저장할 것이다.
WITH DEPT_AVG AS (
SELECT
DEPT_ID
, ROUND(AVG(SAL)) AS AVG_SAL
FROM
HR_EMPLOYEES
GROUP BY
DEPT_ID
)
DEPT_AVG 테이블에는 (부서아이디, 해당 부서의 평균 연봉) 이 저장되어 있을 것이다.
이제 HR_DEPARTMENT 테이블과 조인하여 필요한 정보들을 조건에 맞춰서 출력하면 된다.
SELECT
A.DEPT_ID
, DEPT_NAME_EN
, AVG_SAL
FROM
DEPT_AVG A
, HR_DEPARTMENT B
WHERE
A.DEPT_ID = B.DEPT_ID
ORDER BY
AVG_SAL DESC
WITH DEPT_AVG AS (
SELECT
DEPT_ID
, ROUND(AVG(SAL)) AS AVG_SAL
FROM
HR_EMPLOYEES
GROUP BY
DEPT_ID
)
SELECT
A.DEPT_ID
, DEPT_NAME_EN
, AVG_SAL
FROM
DEPT_AVG A
, HR_DEPARTMENT B
WHERE
A.DEPT_ID = B.DEPT_ID
ORDER BY
AVG_SAL DESC
더 좋은 해결방법이 있다면 언제든 댓글로 알려주세요 🤗