단의 개발 블로그

부서별 평균 연봉 조회하기 본문

Algorithm/SQL

부서별 평균 연봉 조회하기

danso 2024. 8. 27. 17:04

💡 문제설명

HR_DEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HR_DEPARTMENT 테이블의 구조는 다음과 같으며 DEPT_ID, DEPT_NAME_KR, DEPT_NAME_EN, LOCATION 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다.

HR_EMPLOYEES 테이블은 회사의 사원 정보를 담은 테이블입니다. HR_EMPLOYEES 테이블의 구조는 다음과 같으며 EMP_NO, EMP_NAME, DEPT_ID, POSITION, EMAIL, COMP_TEL, HIRE_DATE, SAL 각각 사번, 성명, 부서 ID, 직책, 이메일, 전화번호, 입사일, 연봉을 의미합니다.

 

💡 문제

HR_DEPARTMENT와 HR_EMPLOYEES 테이블을 이용해 부서별 평균 연봉을 조회하려 합니다. 부서별로 부서 ID, 영문 부서명, 평균 연봉을 조회하는 SQL문을 작성해주세요.

평균연봉은 소수점 첫째 자리에서 반올림하고 컬럼명은 AVG_SAL 해주세요.
결과는 부서별 평균 연봉을 기준으로 내림차순 정렬해주세요.

 

예시

HR_DEPARTMENT 테이블이 다음과 같고

HR_EMPLOYEES 테이블이 다음과 같고

SQL 실행하면 다음과 같이 출력되어야 합니다.

 

 풀이

SELECT 
    HD.DEPT_ID,
    HD.DEPT_NAME_EN,
    ROUND(HE.AVG_SAL) as AVG_SAL
FROM HR_DEPARTMENT HD,
    (
        SELECT AVG(SAL) as AVG_SAL, DEPT_ID
        FROM HR_EMPLOYEES
        GROUP BY DEPT_ID
    ) HE
WHERE HD.DEPT_ID = HE.DEPT_ID
ORDER BY HE.AVG_SAL DESC

 

출처

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit