SQL에서 null 비교 연산

 


select id from employee where birth_date is null;

 

  • null 비교 연산시에는 =, != 연산자가 아닌 is, is not 연산자를 사용해야 합니다.




Three-valued Logic

 

유튜버 "쉬운 코드"님의 자료를 참조하였습니다.

 

유튜버 "쉬운 코드"님의 자료를 참조하였습니다.

 

  • three-valued login이란 비교/논리 연산의 결과로 true, false, unknown을 가진다는 의미입니다.

 

  • SQL에서 null과 비교 연산을 하게 되면 그 결과는 unknown입니다.

 

  • unknown은 true일 수도 있고 false일 수도 있다 라는 의미입니다.

 

  • 위와 같은 unknown의 결과가 중요한 이유는 where절의 condition의 결과가 true일 경우에만 튜플이 선택되는데 즉, false나 unknown일 경우 선택되지 않습니다.




not in 주의사항

 

유튜버 "쉬운 코드"님의 자료를 참조하였습니다.

 

  • 위와같이 null에 의한 unknown으로 인해서 예상치 못한 결과가 return 될 수 있습니다. 즉, not in 안에서 사용될 결과에서 null이 포함될 경우 false 또는 unknown만 return 할 수 있습니다.




+ Recent posts