문제
MYSQL
내가 작성한 정답
WITH B AS (SELECT G.EMP_NO, E.EMP_NAME,E.SAL,
CASE
WHEN G.SCORE >= 96 THEN 'S'
WHEN G.SCORE >= 90 THEN 'A'
WHEN G.SCORE >= 80 THEN 'B'
ELSE 'C' END GRADE
FROM (SELECT EMP_NO, AVG(SCORE) SCORE
FROM HR_GRADE
GROUP BY EMP_NO) G
JOIN HR_EMPLOYEES E ON G.EMP_NO = 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
ELSE 0 END BONUS
FROM B
ORDER BY 1;Share article