알고리즘(PS)/sql

[SQL] 경기도에 위치한 식품창고 목록 출력하기 (with.COALESCE 사용법)

5353 2025. 1. 12. 01:10
반응형
 

프로그래머스

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

programmers.co.kr

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

정답 코드

-- 경기도 위치
-- NULL 이면 N
-- ID 기준 오름 차순
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS ,COALESCE(FREEZER_YN ,'N') AS COALESCE
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE('경기도%')

개인적인 습관이지만 문제를 읽을 때 저렇게 주석으로 조건을 하나씩 나열해 두면 나중에 빼먹은 조건이 없는 지 빠르게 체크 할수 있다.

LEVEL 1 문제로 ,

간단하게COALESCE를 이용해 NULL값을 대체해주고, LIKE('경기도를 써서 풀면 된다.%')

 

 

COALESCE 사용 설명

 

COALESCE는 SQL에서 NULL 값을 처리하는 함수

주어진 인자 중에서 첫 번째로 NULL이 아닌 값을 반환. 또는 여러 인자를 비교하여 첫 번째로 NULL이 아닌 값을 찾음.

사용법:

COALESCE(expression1, expression2, ..., expressionN)
  • COALESCE는 여러 인자를 받아들이며, 왼쪽에서 오른쪽으로 차례대로 평가됨.
  • 첫 번째로 NULL이 아닌 값을 반환하고, 모든 인자가 NULL이면 NULL을 반환함.

예시:

  1. COALESCE 기본 사용:
    • column1이 NULL이면 column2를 사용하고, column2도 NULL이면 column3을 사용함. 모두 NULL이면 'Default Value'를 사용함.
SELECT COALESCE(column1, column2, column3, 'Default Value') AS result FROM table_name;
  1. NULL 값 처리:
    • phone_number가 NULL이면 'No phone number'를 사용함.
SELECT COALESCE(phone_number, 'No phone number') AS contact FROM customers;

주요 특징:

  • COALESCE는 NULL을 대체할 때 유용하게 사용됨.
  • CASE WHEN 구문이나 IFNULL() 함수와 비슷한 역할을 하며, 여러 인자를 비교할 수 있음.
반응형