코드 및 쿼리문/SQL 공부

연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기

황규진 2025. 6. 16. 20:23

문제

코드

SELECT HG.EMP_NO, HE.EMP_NAME, (CASE
                                 WHEN AVG(HG.SCORE) >= 96 THEN 'S'
                                 WHEN AVG(HG.SCORE) < 96 AND AVG(HG.SCORE) >= 90 THEN 'A'
                                 WHEN AVG(HG.SCORE) < 90 AND AVG(HG.SCORE) >= 80 THEN 'B'
                                 ELSE 'C'
                                END) AS GRADE, 
                                (CASE
                                 WHEN AVG(HG.SCORE) >= 96 THEN HE.SAL*0.2
                                 WHEN AVG(HG.SCORE) < 96 AND AVG(HG.SCORE) >= 90 THEN HE.SAL*0.15
                                 WHEN AVG(HG.SCORE) < 90 AND AVG(HG.SCORE) >= 80 THEN HE.SAL*0.1
                                 ELSE 0
                                END) AS BONUS
                                
FROM HR_EMPLOYEES AS HE RIGHT JOIN HR_GRADE AS HG ON HE.EMP_NO = HG.EMP_NO
GROUP BY HG.EMP_NO, HE.EMP_NAME
ORDER BY HG.EMP_NO

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/284528