[SQL] IS NULL 문제

이말감·2022년 2월 3일
0

SQL

목록 보기
7/14

이름이 없는 동물의 아이디

문제

링크

코드

SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL;

풀이

이름이 없는 채로 들어온 동물은 테이블에서 NULL로 표시되어 있다.
그러니까 NULL인 것만 찾으면 되는데, 이때 IS NULL을 사용해서 풀어야 한다.

이름이 있는 동물의 아이디

문제

링크

코드

SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID;

풀이

이 문제는 앞서 풀었던 문제와 반대이다.
그러므로 IS NULL이 아니라 IS NOT NULL을 사용하면 된다.
그리고 ID가 오름차순 정렬되어야 한다고 했으므로 ORDER BY를 통해 정렬시켜준다.

NULL 처리하기

문제

링크

코드

SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS ORDER BY ANIMAL_ID;

풀이

MSSQL을 주로 사용했기 때문에 ISNULL()을 통해서 문제를 풀었다.
하지만 MYSQL에서는 ISNULL()이 아니었다!
MYSQL에서 ISNULL()과 같은 역할을 하는 것은 바로 IFNULL() 이었다.
방법은 동일했다.

IFNULL(값1, 값2)
-> 값1이 NULL이면 값2를 출력해라.

문제에서 이름이 NULL이면 'No name'을 출력하라고 했기 때문에
IFNULL(NAME, 'No name') 이다.

profile
전 척척학사지만 말하는 감자에요

0개의 댓글