MySQL/프로그래머스

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

묘걍 2023. 10. 20. 15:26

❓문제

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

문제

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

예시

FOOD_WAREHOUSE 테이블이 다음과 같을 때

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

 

🤔풀이 방법 고민해보기

WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, FREEZER_YN을 출력 → SELECT

FOOD_WAREHOUSE테이블에서 → FROM

경기도에 위치한 창고 = ADDRESS에 '경기도'가 포함된 데이터 → WHERE LIKE

냉동시설 여부가 NULL인 경우 'N'으로 출력 → CASE WHEN THEN

창고 ID 기준 오름차순 정렬 → ORDER BY ASC

👩🏻‍💻나의 코드

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

✅다른 사람 코드

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL, 'N', FREEZER_YN) AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '경기도%'
ORDER BY WAREHOUSE_ID ASC

- IF 함수는 MySQL에서 사용하는 조건 함수입니다. 이 함수는 세 개의 인자를 받습니다: IF(조건, 참일 경우 값, 거짓일 경우 값).

 

 

출처: https://school.programmers.co.kr/learn/courses/30/lessons/131114

 

프로그래머스

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

programmers.co.kr