< 링크 >
여기를 클릭하세요 (프로그래머스 고득점 Kit 106문제 모음)
여기를 클릭하세요 (9. 강원도에 위치한 생산공장 목록 출력하기)
< 문제 >
FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.
< 내가 작성한 코드 >
SELECT factory_id, factory_name, address
from food_factory
where substr(address, 1, 2) = '강원'
order by factory_id asc;
< 풀이 >
1. 기본 구문을 작성했다. 문제에서는 공장ID, 공장이름, 주소를 조회하라고 했다.
SELECT factory_id, factory_name, address
from food_factory
2. 문제에서 '강원도에 위치한' 이라는 조건이 주어졌다.
주어진 데이터를 살펴 보았을 때 address 컬럼에서 데이터들이
경기도, 강원도, 경상북도, ... 처럼 광역자치단체 구분이 되어 있었고,
따라서 나는 address 컬럼 데이터의 첫 두 글자가 '강원' 이라면
원하는 데이터를 조회할 수 있겠다고 생각했다.
3. 그래서 'sql split' 을 검색하면서 문자열 자르기에 대한 함수를 알 수 있었다.
(참고 url : https://lily03.tistory.com/2 )
substr() 을 이용하면 이 문제에 접근할 수 있다.
substr(컬럼명, 시작위치, 갯수)
따라서 이 문제에서는
where substr(address, 1, 2) = '강원' 을 쿼리에 추가해야 한다.
address 컬럼 데이터의 첫 번째부터 두 글자라는 뜻이다.
4. 마지막으로 조회 결과를 공장ID를 기준으로 오름차순 정렬하라 했으므로
order by factory_id asc 를 추가하면 된다.
< 내가 최종 작성한 코드 >
SELECT factory_id, factory_name, address
from food_factory
where substr(address, 1, 2) = '강원'
order by factory_id asc;

'IT > 프로그래머스 SQL 문제 풀어보기' 카테고리의 다른 글
| [SQL - SELECT] 11. 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2026.01.09 |
|---|---|
| [SQL - SELECT] 10. 서울에 위치한 식당 목록 출력하기 (0) | 2026.01.09 |
| [SQL - SELECT] 8. 3월에 태어난 여성 회원 목록 출력하기 (1) | 2026.01.09 |
| [SQL - SELECT] 7. 평균 일일 대여 요금 구하기 (0) | 2026.01.09 |
| [SQL - SELECT] 6. 조건에 맞는 도서 리스트 출력하기 (0) | 2026.01.09 |