[SQL] 등급 매기기

강지영·2023년 2월 20일
0

SQL

목록 보기
13/20

📌 다음과 같은 테이블을 생성하고 이름과 등급을 가져오는 SQL문을 작성하시오.

  • A등급은 90점 이상, B등급은 80점이상, C등급은 70점 이상, D등급은 60점 이상
    이 외 모든 점수는 F등급

  • 단, 결석(absent) 회수가 4회 이상인 학생은 무조건 F등급

테이블 생성

CREATE TABLE students(
	name CHAR(50),
	score INT,
	absent INT
);

레코드 생성

INSERT INTO students(name, score, absent)
VALUES('김정우', 95, 1),
	('이마크', 72, 0),
	('문태일', 85, 3),
	('쫑천러', 90, 4),
	('이제노', 65, 0),
	('박지성', 52, 1);

등급 매기기

이중 CASE ~ WHEN ~ THEN을 사용하여 등급 매기기

SELECT
	name,
	CASE
	WHEN score >= 90 THEN 'A'
	WHEN score >= 80 THEN 'B'
	WHEN score >= 70 THEN 'C'
	WHEN score >= 60 THEN 'D'
	ELSE 'F' END AS grade
FROM
	students
;

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
	students
;

profile
Hello World!

0개의 댓글