https://school.programmers.co.kr/learn/courses/30/lessons/284528
포인트!
1. 문제에는 안나왔지만 성과급 기준은 2반기로 진행.
-아놔...2반기가 아니라 1,2반기 평균으로 진행하는 거였음...
2. 각 평가 등급 CTE를 미리 만들고 진행
WITH EMP_GRADE AS(
SELECT
E.EMP_NO, EMP_NAME, SAL,
CASE
WHEN AVG(SCORE)>=96 THEN 'S'
WHEN AVG(SCORE)>=90 THEN 'A'
WHEN AVG(SCORE)>=80 THEN 'B'
ELSE 'C'
END AS GRADE
FROM
HR_EMPLOYEES E
INNER JOIN HR_GRADE G
ON E.EMP_NO = G.EMP_NO
GROUP BY
E.EMP_NO
)
SELECT
EMP_NO, EMP_NAME, GRADE,
CASE
WHEN GRADE='S' THEN SAL*0.2
WHEN GRADE='A' THEN SAL*0.15
WHEN GRADE='B' THEN SAL*0.1
WHEN GRADE='C' THEN SAL*0
END AS BONUS
FROM
EMP_GRADE
ORDER BY
EMP_NO
제가 성과금을 주는 기준이 회사마다 다른데
이런 기준이 문제에 나와있었으면 좋았을 것 같다...
LEVEL4 치고는 매우 쉽게 풀었다.