장애 번호 : 700479a
| 현상 | LEFT OUTER JOIN을 사용하는 쿼리에서 NOT IN 절의 비교 대상에 오른쪽 테이블의 컬럼이 포함된 경우, 일부 조건에서 결과 값이 올바르지 않게 반환되는 현상이 발생한다. |
| 원인 | NOT IN 절의 왼쪽 값이 NULL이더라도, 오른쪽 서브쿼리의 결과가 없으면 조건식은 참으로 판단될 수 있다. 그러나 기존 로직에서는 이러한 경우를 충분히 고려하지 못해 조건식이 불명확한 상태로 처리되었고, 이로 인해 조인 처리 방식이 의도와 다르게 적용될 수 있었다. |
| 해결 | IN / NOT IN 절에서 NULL 값이 포함된 경우의 조건 판단 로직을 개선했다. IN 절은 거짓 또는 판단 불가로 처리하고, NOT IN 절은 참 또는 판단 불가로 처리하도록 수정하여, 조건식의 의미가 정확하게 반영되도록 했다. |