반응형
1학년 1학기 테스트 점수가 채점되어 아래 DataBase Table에 Insert 되어있습니다.
이 때 , A등급은 90점 이상 , B등급은 80점 이상 , C등급은 70점 이상 , D등급은 60점 이상
이 외 모든 점수는 F등급으로 매겨질 때, 학생의 이름과 등급을 가져오는 SQL문을 작성해주세요.
[제한사항]
- 단 , 결석 회수가 4회 이상인 학생은 무조건 F등급입니다.
- 모든 데이터는 null 값이 허용되지 않습니다.
[테이블]
name | score | absent |
a | 95 | 1 |
b | 72 | 0 |
c | 85 | 3 |
d | 90 | 4 |
e | 65 | 0 |
f | 52 | 1 |
SELECT
name
CASE
WHEN absent >= 4
THEN 'F'
ELSE
CASE
WHEN score >=90 THEN 'A'
WHEN score >=80 THEN 'B'
WHEN score >=70 THEN 'C'
WHEN score >=60 THEN 'D'
ELSE 'F'
END
END as grade
FROM 테이블;
기본 구조
CASE
WHEN 조건1
THEN 결과1
WHEN 조건2
THEN 결과2 ...
(ELSE 결과)
END AS 컬럼명
반응형
'개발 기록 > sql' 카테고리의 다른 글
[SQL] JOIN (LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, INNER JOIN) (0) | 2024.01.18 |
---|---|
[SQL]UNION ALL, UNION (0) | 2024.01.06 |
[SQL] GROUP BY, TOP/ROWNUM, DISTINCT (0) | 2024.01.05 |
[SQL] NVL, COUNT, SUM (1) | 2024.01.04 |
[SQL] 백엔드 개발에 필요한 명령어 정리 (0) | 2024.01.03 |