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 키워드로 위치를 바꿔줄 수 있습니다.
문제
이름이 없는 동물의 아이디
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 |