코딩테스트_프로그래머스
주제 : 대장균의 크기에 따라 분류하기 1
범위: Select
레벨: Lv.3

https://school.programmers.co.kr/learn/courses/30/lessons/299307
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
대장균 개체의 크기가 100 이하라면 'LOW', 100 초과 1000 이하라면 'MEDIUM', 1000 초과라면 'HIGH' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류(SIZE)를 출력하는 SQL 문을 작성해주세요.이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요.
예시
예를 들어 ECOLI_DATA 테이블이 다음과 같다면
ID PARENT_ID SIZE_

대장균 개체 ID(ID) 1,2,3 에 대해 개체의 크기는 각각 17, 150, 4000 이므로 분류된 이름은 각각 'LOW', 'MEDIUM', 'HIGH' 입니다. 따라서 결과를 개체의 ID 에 대해 오름차순 정렬하면 다음과 같아야 합니다.

#답
SELECT ID,
CASE
WHEN (SIZE_OF_COLONY <= 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 THEN ELSE END :
상황에 따라 조건을 나눠 출력할 때 유용하게 쓰이는 함수
개체의 크기가 100 이하라면 'LOW', 100 초과 1000 이하라면 'MEDIUM', 1000 초과라면 'HIGH' 라고 분류
=> CASE WHEN을 사용하여 개체크기 (SIZE_OF_COLONY) 가 100 이하, 101~1000 사이값, 그 외의 값으로 나눠서 출력
END AS '컬럼명' 지정
'공부 & 프로젝트 > SQL' 카테고리의 다른 글
| [SQL TEST 35일차] Group by, LV.3 : 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2025.11.04 |
|---|---|
| [SQL TEST 34일차] Join, LV.3 : 없어진 기록 찾기 (0) | 2025.11.04 |
| [SQL TEST 31일차] Group by, LV.3 : 부서별 평균 연봉 조회하기 (0) | 2025.10.31 |
| [SQL TEST 29일차] String, Date, LV.3 : 오랜 기간 보호한 동물(2) (0) | 2025.10.28 |
| [SQL TEST 28일차] Join, LV.3 : 있었는데요 없었습니다 (0) | 2025.10.28 |