NOT NULL과 !=의 차이

2022-02-22

혼동오는 것을 정리하기 위해 작성한 내용이다.

NOT NULL과 !=(또는 <>)와의 차이


상황 설명

테이블 설명

간단한 예를 들어 테이블은 위와 같이 구성한다.

IsMembershipWithDrawn은 NULL이 가능하도록 설정한다.

같지 않다?

IS NOT!=(또는 <>) 이 것들의 의미는

“같지 않다” 라는 점이다.

그렇지만 결과적으로 나타나는 값은 다르다.

확인해보자.

SQL문

사용하고자 하는 SQL문에서 동일한 조건으로 실행해보았을 때

다음과 같은 결과값이 나타난다.

Result

1. 맨위는 테이블 내에 있는 모든 데이터
2. IS NOT NULL 조건 사용
3. != NULL 조건 사용
4. <> NULL 조건 사용

의미상으로는 “같지 않다”를 나타내지만 차이점은 다음과 같다.

IS NOT NULL은 검사 중인 개체/레코드가

실제 null 값인지 여부(데이터 없음)를 결정한다다.

!= 와 <> 연산자는 원시 타입(Primitive type)에 대해서만 동작하고

IS NOT NULL 은 모든 타입에 대해 동작한다.

참고링크 :

스택오버플로우 관련링크

jhleed 블로그