-
[MySQL] (SELECT) 강원도에 위치한 생산공장 목록 출력하기코딩테스트/MySQL 2024. 8. 18. 20:09728x90반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131112
[프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr](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를 기준으로 오름차순 정렬해주세요.
예시
FOOD_FACTORY 테이블이 다음과 같을 때
FACTORY_ID FACTORY_NAME ADDRESS TLNO 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_ID FACTORY_NAME ADDRESS FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679 FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154 FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 227-35 문제풀이
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID ASC;
참고) WHERE IN과 WHERE LIKE 차이
WHERE IN
과WHERE LIKE
는 SQL에서 조건을 지정하는 데 사용되는 두 가지 다른 절입니다. 이 둘의 차이점은 다음과 같습니다:1.
WHERE IN
- 용도:
IN
연산자는 지정한 목록(서브쿼리 포함)에 포함된 값들과 일치하는 경우를 찾는 데 사용됩니다. - 사용법: 일반적으로 여러 개의 특정 값을 비교할 때 사용됩니다.
- 예시:
SELECT * FROM FOOD_FACTORY WHERE FACTORY_ID IN ('FT19980003', 'FT20100003', 'FT20100004');
- 이 쿼리는
FACTORY_ID
가'FT19980003'
,'FT20100003'
,'FT20100004'
중 하나와 일치하는 모든 행을 반환합니다.
- 이 쿼리는
2.
WHERE LIKE
- 용도:
LIKE
연산자는 특정 패턴과 일치하는 값을 찾는 데 사용됩니다. 주로 부분 문자열 매칭이나 와일드카드(%
,_
)를 사용하여 유연한 검색을 수행할 때 유용합니다. - 사용법: 문자열 데이터에서 특정 패턴을 찾을 때 사용됩니다.
- 와일드카드:
%
: 0개 이상의 문자를 대체합니다._
: 정확히 1개의 문자를 대체합니다.
- 예시:
SELECT * FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%';
- 이 쿼리는
ADDRESS
가'강원도'
로 시작하는 모든 행을 반환합니다.
- 이 쿼리는
요약
WHERE IN
: 특정 값들의 목록과 일치하는 행을 찾는 데 사용합니다. 목록은 특정한 값들로 한정됩니다.WHERE LIKE
: 특정 패턴과 일치하는 문자열을 찾는 데 사용합니다. 패턴 매칭을 통해 보다 유연한 검색이 가능합니다.
이 두 절은 서로 다른 상황에서 유용하게 사용될 수 있으며, 검색하고자 하는 데이터의 특성과 필요한 유연성에 따라 선택됩니다.
728x90반응형'코딩테스트 > MySQL' 카테고리의 다른 글
[MySQL] (IS NULL) 이름이 없는 동물의 아이디 (0) 2024.08.18 [MySQL] (IS NULL) 나이 정보가 없는 회원 수 구하기 (0) 2024.08.18 [MySQL] (SUM, MAX, MIN) 가장 비싼 상품 구하기 (0) 2024.08.18 [MySQL] (SELECT) 역순 정렬하기 (0) 2024.08.18 [MySQL] (SELECT) 흉부외과 또는 일반외과 의사 목록 출력하기 (0) 2024.08.18 - 용도: