Every Step Matters

[프로그래머스 SQL Lv.1] 경기도에 위치한 식품창고 목록 출력하기 (MySQL) 본문

Database/SQL

[프로그래머스 SQL Lv.1] 경기도에 위치한 식품창고 목록 출력하기 (MySQL)

imnyoung 2025. 11. 30. 09:09

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131114

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

1. FOOD_WAREHOUSE

Column name Type Nullable
WAREHOUSE_ID VARCHAR(10) FALSE
WAREHOUSE_NAME VARCHAR(20) FALSE
ADDRESS VARCHAR(100) TRUE
TLNO VARCHAR(20) TRUE
FREEZER_YN VARCHAR(1) TRUE

 

2. 문제

FOOD_WAREHOUSE 테이블에서 (1) 경기도에 위치(2) 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 (3) 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 (4) 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.

 

3. 문제풀이

1) 경기도에 위치하는 창고 찾기

주소에 "경기도"라는 단어가 들어가는 경우를 찾으면 된다. 특정 단어가 포함되기만 하면 되므로, LIKE와 와일드카드 %를 이용한다.

WHERE address LIKE '%경기도%'

2) 창고의 ID, 이름, 주소, 냉동시설 여부 조회하기

SELECT warehouse_id, warehouse_name, address, freezer_yn
FROM food_warehouse

3) 냉동시설 여부가 NULL인 경우, 'N'으로 출력하기

IFNULL을 이용해서 freezer_yn이 null인 경우 'N'으로 출력하도록 설정하고, 결과 테이블에 사용될 별칭을 지정한다.

SELECT warehouse_id, warehouse_name, address, IFNULL(freezer_yn, 'N') freezer_yn
FROM food_warehouse

4) 창고 id를 기준으로 오름차순 정렬해서 출력하기

ORDER BY warehouse_id

 

4. 정답

따라서 정답은

SELECT warehouse_id, warehouse_name, address, IFNULL(freezer_yn, 'N') freezer_yn
FROM food_warehouse
WHERE address LIKE '%경기도%'
ORDER BY warehouse_id