프로그래머스 SQL 고득점 KIT [IS NULL]

프로그래머스 SQL IS NULL을 풀어봅니다.

3문제를 한 포스팅에 담아봅니다.


이름이 없는 동물의 아이디

  • 테이블에서 NAME이 NULL 인 동물들을 오름차순으로 출력합니다.
1
2
3
SELECT ANIMAL_ID FROM ANIMAL_INS 
WHERE NAME IS NULL 
ORDER BY ANIMAL_ID;

이름이 있는 동물의 아이디

  • 테이블에서 NAME이 NULL 아닌 동물들을 오름차순으로 출력합니다.
1
2
3
SELECT ANIMAL_ID FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID;

NULL 처리하기

  • NULL 인것을 No name 으로 변환합니다.
    • COALESCEIFNULL 를 이용하여 변경
    • IFCASE 를 이용하여 조건을 확인 후 변경
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- COALESCE
SELECT ANIMAL_TYPE, COALESCE(NAME,'No name') AS NAME, 
SEX_UPON_INTAKE FROM ANIMAL_INS;

--INFULL
SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, 
SEX_UPON_INTAKE FROM ANIMAL_INS;

--IF
SELECT ANIMAL_TYPE, IF (NAME IS NULL, 'No name', NAME) AS NAME,
SEX_UPON_INTAKE FROM ANIMAL_INS;

--CASE
SELECT ANIMAL_TYPE, CASE WHEN NAME IS NULL THEN 'No name' 
ELSE NAME END AS NAME, 
SEX_UPON_INTAKE FROM ANIMAL_INS;