스터디/SQL

[SQL] NULL 처리

latter2005 2021. 2. 28. 23:49

NULL

SQL 에서 NULL이란 데이터베이스 내의 데이터값이 존재하지 않는다는 것을 의미합니다. 문자열에서 빈 문자열인 "", 숫자 0과 다른 의미를 가집니다.

테이블에 INSERT 시 NULL을 통해 빈칸으로 둘 수 있으며 JOIN의 경우 LEFT, RIGHT JOIN시 연결되는 값이 없다면 NULL이 됩니다.

 

NULL 처리

IS NULL, IS NOT NULL을 통해 해당 공간이 NULL인지 확인할 수 있습니다.

또한 IFNULL을 통해 NULL인 경우 어떠한 처리를 할 수 있습니다.

 

SELECT NAME FROM TABLE WHERE NAME IS NOT NULL : 이름이 NULL이 아닌 레코드를 출력

SELECT IFNULL(NAME, 'NO NAME') FROM TABLE : 이름을 출력하되 이름이 NULL이라면 'NO NAME' 출력

 

NULL값이 포함된 레코드 들을 정렬하게 되면 오라클의 경우 NULL을 가장 큰 값, MYSQL의 경우 가장 작은 값으로 간주하게 됩니다. 오라클의 경우 NULLS LAST, NULLS FIRST 키워드로 위치를 바꿔줄 수 있습니다.

 

문제

 

프로그래머스

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

programmers.co.kr

이름이 없는 동물의 아이디

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL;

 

이름이 있는 동물의 아이디

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;

 

NULL 처리하기

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

'스터디 > SQL' 카테고리의 다른 글

[SQL] String, Date 처리  (0) 2021.03.03
[SQL] Join  (0) 2021.03.02
[SQL] GROUP BY  (0) 2021.02.28
[SQL] 집계 함수  (0) 2021.02.26
[SQL] SELECT  (0) 2021.02.26