[프로그래머스]연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기

김준석·2024년 4월 5일

코딩테스트 - SQL

목록 보기
84/96

문제

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 치고는 매우 쉽게 풀었다.

0개의 댓글