알고리즘(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을 반환함.
예시:
- COALESCE 기본 사용:
- column1이 NULL이면 column2를 사용하고, column2도 NULL이면 column3을 사용함. 모두 NULL이면 'Default Value'를 사용함.
SELECT COALESCE(column1, column2, column3, 'Default Value') AS result FROM table_name;
- NULL 값 처리:
- phone_number가 NULL이면 'No phone number'를 사용함.
SELECT COALESCE(phone_number, 'No phone number') AS contact FROM customers;
주요 특징:
- COALESCE는 NULL을 대체할 때 유용하게 사용됨.
- CASE WHEN 구문이나 IFNULL() 함수와 비슷한 역할을 하며, 여러 인자를 비교할 수 있음.
반응형