[SQL] SQL코드카타 : 프로그래머스_NULL 처리하기(IFNULL, CASE)

💡 오늘의 TIL 을 시작해 보겠다.
    1. 프로그래머스_NULL 처리하기 
    3. 오늘의 회고
    4. 내일의 계획

프로그래머스 NULL 처리하기 (⬅️ 출처)

테이블에 있는 NULL 값을 처리하는 방법에 대해 알게 되었다.

  • IFNULL()
-- 해당 칼럼에 Null값은 대체할 값으로 바뀌고,원래 값이 있다면 그대로 조회 
SELECT IFNULL(칼럼이름, 'Null이 있을 경우 대체할 값') FROM 테이블명;
  • CASE WHEN 
SELECT
    CASE WHEN 칼럼이름 IS NULL THEN "Null일 때 대체할 값"
    ELSE 칼럼이름 -- Null이 아닌 값이 그대로 출력될 수 있도록 ELSE 사용
    END AS 칼럼이름
FROM 테이블명;

이렇게 하나의 문제를 여러 가지의 방식으로 풀어낼 수 있다는 점이 굉장히 흥미로운 부분이었다.

과거에 수학 문제도 이런식으로 생각했더라면 어땠을까 싶은 생각도 잠시 들었지만,,,
Keep Going ~

 

나는 해당 문제에서 CASE WHEN 구문을 활용하여 풀었다. 왜냐하면? IFNULL은 배운 적은 없었기 때문에... 하지만 이렇게 하나씩 알아가는거겠지 ~ :D

-- NULL 값 처리하기
SELECT animal_type
        , CASE WHEN name is NULL THEN 'No name'   -- name컬럼이 NULL 이면 'No name'으로 변환
          ELSE name      -- 그게 아니면, 이름 그대로 반영
          END AS name      -- 별칭은 name   
        , sex_upon_intake  
FROM animal_ins    -- 해당 테이블에서 찾는다.
ORDER BY animal_id ASC    -- animal_id 오름차순 정렬
;

 

끝.