[프로그래머스] 대장균의 크기에 따라 분류하기1

yannie·2024년 10월 7일
0

[문제]

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

[내가 푼 풀이(정답)]

SELECT
    ID,
    CASE
        WHEN SIZE_OF_COLONY <= 100 THEN 'LOW'
        WHEN SIZE_OF_COLONY > 100 AND SIZE_OF_COLONY <= 1000 THEN 'MEDIUM'
        WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH'
    END AS SIZE
FROM ECOLI_DATA
ORDER BY ID
;

[코드리뷰]

CASE WHEN을 사용하여 대장균 개체의 크기에 따라 분류하고 ID를 오름차순으로 정렬하여 출력한다.

기억해!

  • 조금 더 간단하게 작성할 수 없을까?
    -> CASE문은 조건이 위에서부터 순차적으로 평가되므로, 범위를 좁히는 방법을 생각해볼 수 있다.
SELECT
    ID,
    CASE
        WHEN SIZE_OF_COLONY <= 100 THEN 'LOW'
        WHEN SIZE_OF_COLONY <= 1000 THEN 'MEDIUM'
        ELSE 'HIGH'
    END AS SIZE
FROM ECOLI_DATA
ORDER BY ID;
  • 조건을 좀 더 간단하게 하면?
    -> 가독성 향상, 오류 발생 가능성 감소, 쿼리 성능 향상, 유지보수성 개선

0개의 댓글