👇 강원도에 위치한 생산공장 목록 출력하기
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
🔓 문제 설명
FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요.
이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.
예시 문제 데이터(FOOD_FACTORY)
| FACTORY_ID | FACTORY_NAME | ADDRESS | TLNO |
| FT19980003 | (주)맛있는라면 | 강원도 정선군... | 033-431-3122 |
| FT19980004 | (주)맛있는기름 | 경기도 평택시... | 031-651-2410 |
| FT20100003 | (주)맛있는음료 | 강원도 원주시... | 033-232-7630 |
| FT20100004 | (주)맛있는국 | 강원도 평창군... | 033-323-6640 |
⚡SQL Query
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE '강원도%'
ORDER BY FACTORY_ID ASC;
🔎 풀이 설명
1. 패턴 매칭: ADDRESS LIKE '강원도%' 를 사용하여 주소 컬럼의 시작이 '강원도'로 시작하는 모든 행을 찾았습니다.
💡인사이트
1. 인덱스 활용 시 LIKE 연산자 주의
- LIKE 연산자를 사용할 때, 와일드카드(%)가 뒤에 붙는 경우 ('강원도%')에는 해당 컬럼에 인덱스가 있다면 Index Range Scan이 가능합니다.
- %가 앞에 붙는 경우('%강원도')는 인덱스의 정렬 구조를 활용할 수 없어 Index Full Scan 또는 Table Full Scan이 발생합니다.
2. 결합 인덱스 구성
- 위 쿼리에서 최적화된 인덱스는 [ADDRESS + FACTORY_ID] 순으로 구성된 결합 인덱스
- ADDRESS는 Index Only Scan이 가능하며, FACTORY_ID는 정렬된 인덱스 덕분에 정렬 부하도 최소화할 수 있습니다.
'🗄️ DB_이야기 > # ⚡SQL' 카테고리의 다른 글
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 재구매가 일어난 상품과 회원 리스트 구하기(SELECT) (0) | 2026.04.14 |
|---|---|
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 서울에 위치한 식당 목록 출력하기(SELECT) (0) | 2026.04.13 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 조건에 부합하는 중고거래 댓글 조회하기(SELECT) (0) | 2026.04.13 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 3월에 태어난 여성 회원 목록 출력하기(SELECT) (1) | 2026.04.13 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 흉부외과 또는 일반외과 의사 목록 출력하기(SELECT) (0) | 2026.04.13 |