NULL

IS NULL연산자 본문

SQL/Oracle

IS NULL연산자

1924 2022. 3. 15. 05:58

IS NULL을 하기전 NULL을 먼저 살펴보겠다.

 

NULL은 중요한 의미가 있는 특수한 데이터 형식이다.

 

별칭을 사용하여 열 이름 출력

 

SAL열에 12를 곱하고 추가 수당 열 값을 더한 결과는

나오는 경우도 있고 아닌 경우도 있다.

 

결과가 나오지 않는 현상은 연산에 사용한 추가 수당

열 값이 비어 있는 행에서만 나타난다.

 

위와 같이 NULL은 데이터 값이 완전히 비어있는 상태를 말한다.

숫자 0은 값이 존재한다는 뜻이므로 혼동하지 않도록 주의해야한다.

 

 

의미 예시
값이 존재하지 않음 통장을 개설한 적 없는 은행 고객의 계좌번호
해당 사항 없음 미혼인 고객의 결혼기념일
노출할 수 없는 값 고객 비번찾기같은 열람제한하는 특정 개인정보
확정되지 않은 값 미성년자의 출신 대학

 

따라서 NULL은 "값 자체가 존재 하지 않는 상태" 이거나 "현재 무슨 값인지 확정되지 않은 상태" 를 나타내는 데이터에 사용한다. 이와 같이 연산대상이 NULL일 때 연산 자체가 무의미해지는 현상이 발생한다. 뭘 해도 NULL.

 

 

등가 비교 연산자로 NULL 비교하기

위 코드를 보면 추가 수당 열 값이 NULL인 행이 나와야 할 것 같지만

실제로는 출력되는 데이터가 없다. NULL 산술 연산자와 비교 연산자로

비교해도 값이 NULL이 되기 때문이다.

 

WHERE절 조건식 결과 값이 true인 행만 출력하는데

이 처럼 연산 결과 값이 NULL이 되어 버리면 결과 값이

false도 true도 아니게 되므로 출력대상에서 제외된다.

 

 

특정 열 또는 연산결과 값이 NULL인지 확인하려면 IS NULL연산자를 사용해야한다.

 

따라서 위에 코드가 의도한 의미대로 추가 수당 열 값이 NULL인 데이터를 출력하고 싶다면

IS NULL을 사용하면 된다.

 

IS NULL 연산자를 사용하여 출력

IS NULL 연산자를 사용하면 추가 수당열 값이 존재하지 않는 데이터만 출력한다.

 

반대로, 즉 추가수당 열 값이 NULL이 아닌 데이터만 조회하려면 IS NOT NULL을 사용한다.

 

NULL이 아닌 데이터 조회 IS NOT NULL

 

 

데이터가 NULL인지 확인하는 용도로만 사용하는 

IS NULL, IS NOT NILL 연산자는 매우 자주 사용되므로 꼭 기억하자.

Comments