오늘 postgresql 에서 where 조건에 비교문을 작성하였다.  파이썬에서 None 에 대해 비교하듯이 Null 과 비교하자 같은 결과가 나오지 않는 것을 발견했다. 
 파이썬에서 
    None != 8  이라고 하면 True  가 된다. 
javascript 에서도 유사하게 
   null != 8  과  undefined != 8   모두 true 가 된다. 

그런데 Postgresql 에서 
  select null != 8;    은 null 이 된다. where 절에서 특정 row의 column 이 null 인 상태에서 이런 비교 연산이 내부적으로 동작한다면 Python 과 JS 에서 사용하는 의도와 null 이 포함된 row 가 나오지 않게 된다. 

 이를 방지하기 위해 IS DISTINCT FROM  로 비교할 수 있다. 
select null is  distinct  from  8   처럼 사용하면  true 라는 결과를 얻을 수 있다. 
 유사하게 
Postgresql 에서는 
select null=8   에 대해서 null 이라는 결과를 리턴하는데
select null is not distinct  from  8 라고 사용하면 false 라는 결과를 얻을 수 있다.