Study/SQL

[프로그래머스/SQL 고득점 Kit] 강원도에 위치한 생산공장 목록 출력하기

growingtree 2022. 11. 9. 14:45
728x90

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

 

문제

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

Column name Type Nullable
FACTORY_ID VARCHAR(10) FALSE
FACTORY_NAME VARCHAR(50) FALSE
ADDRESS VARCHAR(100) FALSE
TLNO VARCHAR(20) TRUE

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

 

 

요약

1. 공장 ID, 공장 이름, 주소 조회

2. 조건 1 : 공장의 주소가 "강원도" 인 공장만 필터링

3. 조건 2 : 공장 ID를 기준으로 오름차순

 

 

아이디어 

1. 조건 1의 경우, WHERE절로 필터링, "강원도"라는 단어가 들어간 경우가 있는지로 체크해야할 듯 >> LIKE 

2. 조건 2의 경우, ORDER BY로 정렬한다. 

 

 

코드

SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE "강원도%"
ORDER BY FACTORY_ID;

 

 

추가 설명  => LIKE 문법 

LIKE 문법은 아래와 같이 사용하면 된다. 

WHERE "column name" LIKE "찾고자하는 조건"

 

해당 문제의 테이블을 살펴보면 ADDRESS 칼럼은 도 > 시/군 > 읍/면/리 > 도로명  순으로 되어있음을 알 수 있다.

우리가 알고싶은건 공장의 주소가 강원도인지 아닌지 이므로 주소가 강원도로 시작하는지만 확인하면 된다.

 

LIKE는 총 3가지 방법으로 활용할 수 있다.

 

1. LIKE 값% : 값으로 시작하는 경우

2. LIKE %값 :  값으로 끝나는 경우

3. LIKE %값% : 값이 들어가는 경우 

 

찾아야하는 조건에 맞추어 사용하면 된다! 

반응형