Lv4. 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (MySQL)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/284528
내가 작성한 코드
SELECT E.EMP_NO, E.EMP_NAME,
CASE WHEN AVG(SCORE) >= 96 THEN 'S'
WHEN AVG(SCORE) >= 90 THEN 'A'
WHEN AVG(SCORE) >= 80 THEN 'B'
ELSE 'C' END AS GRADE,
CASE WHEN AVG(SCORE) >= 96 THEN E.SAL * 0.2
WHEN AVG(SCORE) >= 90 THEN E.SAL * 0.15
WHEN AVG(SCORE) >= 80 THEN E.SAL * 0.1
ELSE 0 END AS BONUS
FROM HR_EMPLOYEES E
JOIN HR_GRADE G
ON E.EMP_NO = G.EMP_NO
GROUP BY EMP_NO, EMP_NAME, E.SAL
ORDER BY E.EMP_NO
-- AVG(SCORE) 사용 이유:
-- HR_GRADE 테이블은 반기별로 데이터가 나뉘어 있으므로 사원별 연간 통합 등급을 매기기 위해 AVG(SAL)를 사용하여 평균 점수를 계산'코딩테스트' 카테고리의 다른 글
| [26.03.12 코테/회고(MySQL/Oracle)]-대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2026.03.12 |
|---|---|
| [26.03.11 코테(MySQL/Oracle)]-특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2026.03.11 |
| [26.03.06 코테(MySQL)]-FrontEnd 개발자 찾기 (0) | 2026.03.06 |
| [26.03.05 코테(MySQL)]-분기별 분화된 대장균의 개체 수 구하기 (0) | 2026.03.05 |
| [26.03.04 코테(MySQL)]-특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2026.03.04 |