A ``++WHERE++`` clause condition that uses ``++NOT IN++`` with a subquery will have unexpected results if that subquery returns ``++NULL++``. On the other hand, ``++NOT EXISTS++`` subqueries work reliably under the same conditions.


This rule raises an issue when ``++NOT IN++`` is used with a subquery. This rule doesn't check if the selected column is a nullable column because the rules engine has no information about the table definition. It's up to the developer to review manually if the column is nullable.

include::../noncompliant.adoc[]

include::../compliant.adoc[]

ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
