우당탕탕 개발일지

[SQL] 프로그래머스 GROUP BY :연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기(level 4) - 2회차 복습 완료 본문

SQL

[SQL] 프로그래머스 GROUP BY :연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기(level 4) - 2회차 복습 완료

민아당긴아 2024. 7. 5. 16:28

💡문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/284528

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

💡SQL 코드 설계

1. 점수에 따라 등급이 나뉘고 성과금 퍼센트가 바뀌니까 CASE WHEN문을 사용한다.

2. 1분기와 2분기의 점수를 평균내야하니까 AVG 함수 사용 

 

💡SQL 코드

-- 코드를 작성해주세요
SELECT E.EMP_NO, E.EMP_NAME,
    CASE 
    WHEN SCORE >= 96 THEN "S"
    WHEN SCORE >= 90 THEN "A"
    WHEN SCORE >= 80 THEN "B"
    ELSE "C"
    END AS GRADE,
    CASE 
    WHEN SCORE >= 96 THEN E.SAL * 0.2
    WHEN SCORE >= 90 THEN E.SAL * 0.15
    WHEN SCORE >= 80 THEN E.SAL * 0.1
    ELSE E.SAL * 0
    END AS BONUS
    
FROM HR_EMPLOYEES AS E
JOIN (
    SELECT EMP_NO, AVG(SCORE) AS SCORE
    FROM HR_GRADE
    GROUP BY EMP_NO
) AS G
ON E.EMP_NO = G.EMP_NO

 

💡기억할 내용

오늘 SQL 문제 9개 풀었다. 감을 잡고 있다.마지막으로 한 문제 더 풀고 끝내야지!