Algorithm/코딩테스트 (SQL)
[프로그래머스][IS NULL] 경기도에 위치한 식품창고 목록 출력하기 (MySQL)
싱브이
2023. 10. 31. 20:22
728x90
반응형
문제
FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.
코드
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '%경기%'
ORDER BY WAREHOUSE_ID
* IFNULL
: 해당 Column의 값이 NULl을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수
SELECT IFNULL(Column명, '대체 값') FROM 테이블명;
* IF()
: NUll 처리는 사실 IF 함수와 IS NULL 조건으로 처리
SELECT IF(IS NULL(NAME), 'true일 때 대체값', False일 때 대체값) AS 대체할컬럼명
FROM 테이블명
* CASE
: 해당 Column값을 조건식을 통해 True, False를 판단하여 조건에 맞게 Column값을 변환할 때 사용하는 함수
CASE
WHEN 조건식1 THEN 식1
WHEN 조건식2 THEN 식2
...
ELSE 조건에 맞는게 없을 경우 실행
END
* COALESCE
: 지정한 표현식들 중에 NULL이 아닌 첫번째 값을 반환하는 함수
SELECT COALESCE(Column명1, 대체값)
FROM 테이블명
# 1~3 중 Null이 아닌 첫 번째 Column 출력
SELECT COALESCE(Column명1, Column명2, Column명3)
FROM 테이블명
728x90
반응형