본문 바로가기
Data Base/SQL

[SQL] : NULL (널)

by 오주현 2021. 11. 15.
반응형
NULL

null(널)은 매우 중요한 데이터 입니다.

 

오라클에서는 컬럼에 널 값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못 하면 쿼리문을 사용하는데 있어 원하는 결과를 얻기 어려울 수 있습니다.

 

정의

- 0(zero)가 아닙니다.

- 빈 공간이 아닙니다.

- 미확정, 알 수 없는 값을 의미합니다.

- 어떤 값인지 알 수 없지만 분명 존재하고 있습니다.

- ? 혹은 ∞ 의 의미로 사용되므로 연산, 할당, 비교가 불가능합니다.

 

예시

select
  2     ename, sal, job, comm, sal*12, sal*12+comm
  3  from
  4     emp;

연봉을 계산하는 쿼리를 보면 SALESMAN은 COMM이 있으므로 연봉이 정상적으로 계산이 되었습니다.

심지어 COMM을 0을 받은 사람도 정상적으로 연봉이 계산이 되는데 값이 NULL인 사람들은 연봉이 계산되지 않았습니다.

 

select
  2     ename, comm, sal*12+comm, nvl(comm,0), sal*12+nvl(comm,0)
  3  from
  4     emp;

연봉 계산을 위해 COMM이 NULL인 경우 0으로 바꾸어 계산하도록 하니 연봉이 계산이 되는 것을 확인할 수 있습니다.

결론적으로 NULL은 연산이 불가능한 것을 확인할 수 있습니다.

반응형

댓글