대장균 개체의 크기가 100 이하라면 'LOW', 100 초과 1000 이하라면 'MEDIUM', 1000 초과라면 'HIGH' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류(SIZE)를 출력하는 SQL 문을 작성해주세요.이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요.


앞으로는 가독성과 유지보수를 고려해서 코드를 작성해야 할 것 같다.
SELECT ID,
CASE
WHEN SIZE_OF_COLONY <= 100 THEN 'LOW'
WHEN 100 < SIZE_OF_COLONY AND SIZE_OF_COLONY <= 1000 THEN 'MEDIUM'
ELSE 'HIGH'
END AS SIZE
FROM ECOLI_DATA
ORDER BY ID ASC;
SELECT
ID,
CASE
WHEN SIZE_OF_COLONY BETWEEN 0 AND 100 THEN 'LOW'
WHEN SIZE_OF_COLONY BETWEEN 101 AND 1000 THEN 'MEDIUM'
ELSE 'HIGH'
END AS SIZE
FROM ECOLI_DATA
ORDER BY ID ASC;
CASE문을 사용할 때 주의할 점은 WHEN 조건은 위에서부터 차례로 평가되므로, 더 포괄적인 조건이 뒤에 와야 한다는 것이다.
SELECT
컬럼명,
CASE
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
ELSE 결과3 -- (옵션) 모든 조건을 만족하지 않을 경우 반환
END AS 새_컬럼명
FROM 테이블명;