[프로그래머스/MySQL] 부서별 평균 연봉 조회하기

지누초이·2024년 3월 28일

프로그래머스

목록 보기
26/37
post-thumbnail

문제

https://school.programmers.co.kr/learn/courses/30/lessons/284529


노트

HR_DEPARTMENTHR_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

더 좋은 해결방법이 있다면 언제든 댓글로 알려주세요 🤗

0개의 댓글