https://school.programmers.co.kr/learn/courses/30/lessons/284529
🔍 문제
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로 해주세요. 결과는 부서별 평균 연봉을 기준으로 내림차순 정렬해주세요.
🎯정답
SELECT D.DEPT_ID, D.DEPT_NAME_EN, ROUND(AVG(E.SAL), 0) AS 'AVG_SAL'
FROM HR_EMPLOYEES E JOIN HR_DEPARTMENT D ON E.DEPT_ID = D.DEPT_ID
GROUP BY D.DEPT_ID, D.DEPT_NAME_EN
ORDER BY ROUND(AVG(E.SAL), 0) DESC;
❓풀이
- 두 테이블을 병합하기 위해 DEPT_ID를 기준으로 병합
- DEPT_ID, DEPT_NAME_EN을 기준으로 그룹화를 진행하여 평균연봉을 구한다
'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글
| [SQL] 12. 프로그래머스 LV.3 대장균의 크기에 따라 분류하기 1 (0) | 2025.07.27 |
|---|---|
| [SQL] 11. 프로그래머스 LV.3 조건에 맞는 사용자 정보 조회하기 (0) | 2025.07.20 |
| [SQL] 09. 프로그래머스 LV.3 즐겨찾기가 가장 많은 식당 정보 출력하기 (3) | 2025.07.18 |
| [SQL] 08. 프로그래머스 LV.3 조건에 맞는 사용자와 총 거래금액 조회하기 (1) | 2025.07.18 |
| [SQL] 07. 프로그래머스 LV.3 오랜 기간 보호한 동물(2) (1) | 2025.07.18 |
