문제풀이/SQL

SELECT_ 강원도에 위치한 생산공장 목록 출력하기_ SQL

monawa 2023. 1. 31.
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다.

Column nameTypeNullable
FACTORY_ID VARCHAR(10) FALSE
FACTORY_NAME VARCHAR(50) FALSE
ADDRESS VARCHAR(100) FALSE
TLNO VARCHAR(20) TRUE

문제

FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.


예시

FOOD_FACTORY 테이블이 다음과 같을 때

FACTORY_IDFACTORY_NAMEADDRESSTLNO
FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679 033-431-3122
FT19980004 (주)맛있는기름 경기도 평택시 포승읍 포승공단순환로 245 031-651-2410
FT20010001 (주)맛있는소스 경상북도 구미시 1공단로7길 58-11 054-231-2121
FT20010002 (주)맛있는통조림 전라남도 영암군 미암면 곤미현로 1336 061-341-5210
FT20100001 (주)맛있는차 전라남도 장성군 서삼면 장산리 233-1번지 061-661-1420
FT20100002 (주)맛있는김치 충청남도 아산시 탕정면 탕정면로 485 041-241-5421
FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154 033-232-7630
FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 227-35 033-323-6640
FT20110001 (주)맛있는밥 경기도 화성시 팔탄면 가재리 34번지 031-661-1532
FT20110002 (주)맛있는과자 광주광역시 북구 하서로 222 062-211-7759

SQL을 실행하면 다음과 같이 출력되어야 합니다.

FACTORY_IDFACTORY_NAMEADDRESS
FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679
FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154
FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 227-35

 

나의 풀이 

# 식품공장의 공장 ID, 공장 이름, 주소를 조회
SELECT FACTORY_ID, FACTORY_NAME , ADDRESS

# FOOD_FACTORY 테이블에서 
from FOOD_FACTORY

#  강원도에 위치한 
# 풀이 1 ADDRESS에서 가장 왼쪽 3글자를 슬라이싱하여 확인 
where left(ADDRESS,3) = "강원도"
# 풀이 2 like를 이용하여 강원도가 들어간 주소찾기 
where ADDRESS like "강원도%"

# 공장 ID를 기준으로 오름차순 정렬
order by FACTORY_ID

1. like 

문자열의 패턴을 검색하는 방법 

패턴에는 ( % )와 ( _ )가 사용되는데 ( % )는 '모든 문자'라는 의미이고  ( _ )는 '한 글자'라는 의미이다

 

2. 슬라이싱 

Left(문자열, number) -왼쪽부터 

Right(문자열, number) - 오른쪽부터 

Substring(문자열, num1, num2) - 원하는 부분부터 (문자열의 num1 인덱스 문자부터 num2개 만큼을 출력)

 

728x90

댓글