본문 바로가기
프로그래머스

[프로그래머스 MYSQL] 경기도에 위치한 식품창고 목록 출력하기

by 뿌비 2024. 7. 3.
728x90

🔥 문제 설명

다음은 식품창고의 정보를 담은 FOOD_WAREHOUSE 테이블입니다. FOOD_WAREHOUSE 테이블은 다음과 같으며 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, TLNO, FREEZER_YN는 창고 ID, 창고 이름, 창고 주소, 전화번호, 냉동시설 여부를 의미합니다.

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

 

🔥 문제

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


🔥 예시

FOOD_WAREHOUSE 테이블이 다음과 같을 때

WAREHOUSE_ID WAREHOUSE_NAME ADDRESS TLNO FREEZER_YN
WH0001 창고_경기1 경기도 안산시 상록구 용담로 141 031-152-1332 Y
WH0002 창고_충북1 충청북도 진천군 진천읍 씨제이로 110 043-623-9900 Y
WH0003 창고_경기2 경기도 이천시 마장면 덕평로 811 031-221-7241 NULL
WH0004 창고_경기3 경기도 김포시 대곶면 율생중앙로205번길 031-671-1900 N
WH0005 창고_충남1 충청남도 천안시 동남구 광덕면 신덕리1길 9 041-876-5421 Y

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

WAREHOUSE_ID WAREHOUSE_NAME ADDRESS FREEZER_YN
WH0001 창고_경기1 경기도 안산시 상록구 용담로 141 Y
WH0003 창고_경기2 경기도 이천시 마장면 덕평로 811 N
WH0004 창고_경기3 경기도 김포시 대곶면 율생중앙로205번길 N

 


🔥 코드

SELECT
    WAREHOUSE_ID,
    WAREHOUSE_NAME,
    ADDRESS,
   CASE WHEN  FREEZER_YN IS NULL THEN 'N' ELSE FREEZER_YN END AS FREEZER_YN
FROM 
    FOOD_WAREHOUSE
WHERE
    ADDRESS LIKE '경기도%'
ORDER BY 
    WAREHOUSE_ID

🔥 항상 문제를 잘 읽자... 

 문제를 제대로 읽지 않아서 실수 한 부분이 있어서 이렇게 적게 되었다

해당 문제에서 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고라고만 되어있고 NULL이 아닌 경우에 따로 하라는 건 없었는데 ….

case 문을 쓰면서 NULL 이 아닌 경우에 나도 모르게 임의로 ‘Y’를 쓰게 되어서 틀리게 되었다 

 

 

728x90