Database/SQL
NULL값
츔
2022. 8. 3. 18:25
" NULL값 "
NULL값
: 아직 지정되지 않은 값
NULL 값은 ‘0’, ‘’ (빈 문자), ‘ ’ (공백) 등과 다른 특별한 값
특징
비교 연산자로 비교 불가능
연산을 수행하면 결과 역시 NULL 값으로 반환됨
예) NULL+숫자’ 연산의 결과는 NULL
집계 함수 계산 시, NULL이 포함된 행은 집계에서 빠짐
연습문제
① Mybook 테이블 생성
CREATE TABLE Mybook(
book_id integer
, price integer
);
INSERT INTO Mybook
VALUES
(1, 10000),
(2, 20000),
(3, null)
;
Ο 연산을 수행하면 결과 역시 NULL 값으로 반환되는 예)
SELECT price+100
FROM Mybook
WHERE book_id = 3;
-> price 값이 null인 book_id을 조건절로 하여 price에 덧셈 연산을 한 결과 null 출력됨.
: null값 숫자 연산 결과는 null
Ο 집계함수에서 null은 적용되지 않는다는 예)
SELECT SUM(price) 총가격,
AVG(price) 평균가격,
COUNT(*) 총수량,
COUNT(price) 가격구분
FROM Mybook;
-> 전체를 대상으로한 집계함수 COUNT에 반해 NULL값이 있는 컬럼 price에 대한 COUNT는 NULL값이 제외되어 -1
■ NULL값 확인하기
IS NULL, IS NOT NULL
SELECT *
FROM Mybook
WHERE price IS NULL;
SELECT *
FROM Mybook
WHERE price IS NULL;
■ NULL값 처리하기
IFNULL( 속성, 값A )
: 속성값이 NULL이면 값A로 대체한다.
연습문제
질의 4-10. 이름, 전화번호가 포함된 고객목록을 보이시오. 단, 전화번호가 없는 고객은 ‘연락처없음’으로 표시한다.
SELECT name 이름
,IFNULL(phone, '연락처없음') 전화번호
FROM customer;