프로그래밍/MySQL

[MySQL] 프로그래머스 SQL IS NULL 답 해설

모영이 2021. 2. 17. 15:38

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

#1 이름이 없는 동물의 아이디

WHERE문에서 이름이 널 값인 데이터를 비교해준다. 

IS를 사용해야 한다. =를 사용하면 안된다.

SELECT ANIMAL_ID 
FROM ANIMAL_INS 
WHERE NAME IS NULL

 

#2 이름이 있는 동물의 아이디

IS NOT을 하면 널 값이 아닌 데이터를 뜻한다.

SELECT ANIMAL_ID 
FROM ANIMAL_INS 
WHERE NAME IS NOT NULL

 

#3 NULL 처리하기

IFNULL을 사용하면 해당 값이 널 값이면 뒤에 데이터로 대체 해준다. 지금은 No name으로 썼으니깐 이름이 널 값이면 No name이렇게 데이터가 출력 될 것이다.

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

 

정리하기

IS NULL : 널 값인 데이터 체크

IS NOT NULL : 널 값이 아닌 데이터 체크

IFNULL : 데이터가 널 값이면 대체 해준다.