프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
HR_DEPARTMENT와 HR_EMPLOYEES 테이블을 이용해 부서별 평균 연봉을 조회하려 합니다. 부서별로 부서 ID, 영문 부서명, 평균 연봉을 조회하는 SQL문을 작성해주세요.
평균연봉은 소수점 첫째 자리에서 반올림하고 컬럼명은 AVG_SAL로 해주세요.결과는 부서별 평균 연봉을 기준으로 내림차순 정렬해주세요.
1. 평균 연봉 소수점 첫째 자리 반올림
소수점 반올림을 하기 위해서는 ROUND() 함수를 사용하면 된다.
MySQL :: MySQL 8.4 Reference Manual :: 14.6.2 Mathematical Functions
MySQL 8.4 Reference Manual / ... / Functions and Operators / Numeric Functions and Operators / Mathematical Functions 14.6.2 Mathematical Functions Table 14.10 Mathematical Functions Name Description ABS() Return the absolute value ACOS(
dev.mysql.com
이 문제에서는 평균 연봉에 대한 소수점 반올림이기 때문에 AVG() 함수와 함께 사용한다.
MySQL :: MySQL 8.4 Reference Manual :: 14.19.1 Aggregate Function Descriptions
MySQL 8.4 Reference Manual / ... / Functions and Operators / Aggregate Functions / Aggregate Function Descriptions 14.19.1 Aggregate Function Descriptions This section describes aggregate functions that operate on sets of values. They are
dev.mysql.com
ROUND() 함수는 ROUND(DATA, X) 형식으로 사용하며,
DATA는 변환하고자 하는 값, X는 표현하는 소수점 자리 수라고 생각하면 된다.
소수점 2째 자리에서 반올림하는 경우 ROUND(DATA, 1)이 되는 것인데,
해당 문제에서는 첫 째 자리에서 반올림을 하라고 했기 때문에, ROUND(DATA)의 형식으로 사용해도 무관하다.
SELECT ROUND(AVS(SAL), 0) AS AVG_SAL
2. 전체 코드
SELECT DEPT.DEPT_ID, DEPT_NAME_EN, ROUND(AVS(SAL), 0) AS AVG_SAL
FROM HR_DEPARTMENT AS DEPT JOIN HR_EMPLOYEES AS EMP
ON DEPT.DEPT_ID = EMP.DEPT_ID
GROUP BY DEPT_ID
ORDER BY AVG_SAL DESC
'연습장 > SQL' 카테고리의 다른 글
[프로그래머스] Lv3. 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (MySQL) (0) | 2024.08.15 |
---|---|
[프로그래머스] Lv3. 대장균들의 자식의 수 구하기 (MySQL) (0) | 2024.08.14 |
[프로그래머스] Lv.3 자동차 대여 기록에서 대여중/대여 가능 여부 구분하기 (MySQL) (0) | 2024.08.10 |
[프로그래머스] Lv.3 대장균 크기에 따라 분류하기 1 (MySQL) (0) | 2024.08.09 |
[프로그래머스] Lv.3 조건에 맞는 사용자 정보 조회하기 (MySQL) (0) | 2024.08.07 |
댓글