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
반응형