Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- LLM
- SQL 첫걸음
- 프로그래머스
- ABAE
- 자연어처리
- 파이썬
- 가상환경
- 알고리즘
- 그래프
- NLP
- Aspect
- 머신러닝
- 백준
- 논문리뷰
- deepseek
- MySQL
- 연구
- 분산
- 코딩테스트
- dfs
- paper review
- ChatGPT
- GPT
- transformer
- outer join
- join
- Bert
- gpt1
- leetcode
- SQL
Archives
- Today
- Total
huginn muninn
[프로그래머스] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

-- 코드를 작성해주세요
-- 사원별 성과금 정보
-- 사번, 성명(hr_employees), 평가등급(이건내가 케이스), 성과금(hr_employees 연봉 계산)
-- 사번 오름차순
WITH EM AS
(SELECT
EMP_NO,
(CASE
WHEN AVG(SCORE)>=96 THEN "S"
WHEN AVG(SCORE)>=90 THEN "A"
WHEN AVG(SCORE)>=80 THEN "B"
ELSE "C"
END) AS GRADE,
(CASE
WHEN AVG(SCORE)>=96 THEN 0.2
WHEN AVG(SCORE)>=90 THEN 0.15
WHEN AVG(SCORE)>=80 THEN 0.1
ELSE 0
END) AS BONUS
FROM HR_GRADE AS G
GROUP BY EMP_NO)
SELECT E.EMP_NO,H.EMP_NAME,E.GRADE,
(H.SAL*E.BONUS) AS BONUS
FROM EM AS E
LEFT JOIN HR_EMPLOYEES AS H
ON E.EMP_NO=H.EMP_NO
ORDER BY E.EMP_NO
별로 어렵지 않은 문제, 4단계라고 해서 기대했는데, 아니였음. case문만 잘 사용하면 쉽게 풀 수 있다.
유의할 것은 사원별 평가점수 계산 방식이다.
아래 hr_grade 테이블에서 2022년을 두개로 나눠서 점수를 부여한 것을 알 수 있는데, 계산해보니 평균값이었다. 그래서 avg(socre)로 평가 점수를 계산해줬다.

case 문으로 평가점수 별로 grade를 나누어줬고, 성과금 비율을 적용해줬다. 평가등급도 같이 출력해줘야 하기 때문에 평가등급과 평가 등급에 따른 성과금 계산은 따로 해줘야한다는 것을 잊지 말자!!!

결과는 아래와 같이 출력된다.

'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 년, 월, 성별 별 상품 구매 회원 수 구하기 SQL (0) | 2024.06.21 |
|---|---|
| [leetcode] 550. Game Play Analysis IV 문제 풀이와 윈도우 함수를 사용할 수 있는 위치 (0) | 2024.06.19 |
| [프로그래머스] 상품을 구매한 회원 비율 구하기 SQL (0) | 2024.06.14 |
| [프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 SQL (1) | 2024.06.13 |
| [프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 SQL (0) | 2024.06.13 |