몸과 마음이 건전한 SW 개발자

[SQL-SELECT] 프로그래머스 Lv. 3 대장균의 크기에 따라 분류하기 1 본문

SQL/SELECT

[SQL-SELECT] 프로그래머스 Lv. 3 대장균의 크기에 따라 분류하기 1

스위태니 2024. 12. 22. 16:39

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/299307

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

정답 코드

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;

풀이 과정

 

  1. SELECT로 데이터 추출:
    • ID와 함께 CASE 문을 활용하여 각 SIZE_OF_COLONY 값을 기준으로 범주(LOW, MEDIUM, HIGH)를 분류하도록 지정.
  2. CASE 문 사용:
    • SIZE_OF_COLONY 값에 따라 다음 범주로 분류:
      • <= 100: 'LOW'
      • <= 1000: 'MEDIUM'
      • 나머지 값: 'HIGH'
  3. 컬럼 이름 지정:
    • 범주화된 결과를 SIZE라는 새 열로 지정.
  4. ORDER BY 정렬:
    • ID 기준으로 결과를 오름차순 정렬.
  5. 최종 결과:
    • 각 ID와 함께 범주화된 SIZE를 출력하여 정렬된 형태로 표시.

 

느낀점

  • CASE문에서 ELSE에는 THEN이 필요없다.