문제
풀이
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;
CASE문을 활용해서 위처럼 코드를 작성할 수 있고,
더 간단하게 작성하려면
SELECT warehouse_id, warehouse_name, address, ifnull(freezer_yn, 'N')
from food_warehouse
where address like '경기도%'
order by warehouse_id;
IFNULL을 활용해서 위처럼 간단하게 작성하거나
SELECT warehouse_id, warehouse_name, address, coalesce(freezer_yn, 'N')
from food_warehouse
where address like '경기도%'
order by warehouse_id;
COALESCE함수를 이용하는 방법도 있다.
노트
MySQL에서 NULL 처리하는 방법에는 IFNULL을 활용하는 방법과,
[SYNTAX]
SELECT a, IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명;
COALESCE 함수를 사용할 수도 있다.
[SYNTAX]
SELECT a, COALESCE(Column명, "Null일 경우 대체 값") FROM 테이블명;
'algorithm' 카테고리의 다른 글
[programmers] Java - Lv.0 몫 구하기 (0) | 2022.10.10 |
---|---|
[programmers] MySQL - Lv.2 가격이 제일 비싼 식품의 정보 출력하기 (sum, max, min) (0) | 2022.10.10 |
[programmers] MySQL - Lv.1 강원도에 위치한 생산공장 목록 출력하기 (select) (0) | 2022.10.06 |
[HackerRank] MySQL - The PADS (1) | 2022.10.06 |
[HackerRank] MySQL - Type of Triangle (0) | 2022.10.02 |