[SQL] 경기도에 위치한 식품창고 목록 출력하기

Ray·2025년 2월 19일

SQL

목록 보기
1/39

🔎 문제설명

  • 출처: 프로그래머스
  • 사용언어(RDBMS): SQL(MySQL)
  • 문제

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



✅ 제출 답안

# FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회
# 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력
# 결과는 창고 ID를 기준으로 오름차순 정렬
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N')
FROM FOOD_WAREHOUSE
WHERE WAREHOUSE_NAME LIKE '%경기%'
ORDER BY WAREHOUSE_ID


🚀 풀이 과정

경기를 포함되게 검색되게 하려고 처음에는 IN()을 사용했다. ⇒ 에러
IN()에는 하나이상의 값을 넣어 그 값들 중 하나와 일치하는데 사용되는데 잘못 기억해냈다.

LIKE연산자를 사용해 문자열 앞뒤에 %를 붙여 경기 가 문자열에서 어느자리에 위치하든 조회되게 했다.

IFNULL() 을 사용해 NULL인 경우 N으로 출력되게 했다.

IFNULL(expr1, expr2) : expr1이 NULL이면 expr2를 리턴하고, NULL아니면 expr1을 리턴한다.

  • NULLIF(expr1, expr2) : expr1 = expr2이면 NULL을 리턴하고, 그렇지 않으면 expr1을 리턴한다.
profile
미래의 독자인 나를 위해 글을 씁니다.

0개의 댓글