NO EN la cláusula y valores NULOS


Este problema surgió cuando obtuve diferentes recuentos de registros para lo que pensé que eran consultas idénticas not in where constraint y el otro a left join. La tabla en la restricción not in tenía un valor nulo (datos defectuosos) que causaba que la consulta devolviera un recuento de 0 registros. En cierto modo entiendo por qué, pero me vendría bien algo de ayuda para comprender completamente el concepto.

Para decirlo simplemente, ¿por qué la consulta A devuelve un resultado pero B no lo hace?

A: select 'true' where 3 in (1, 2, 3, null)
B: select 'true' where 3 not in (1, 2, null)

Esto fue en SQL Server 2005. Yo también se encontró que llamar a set ansi_nulls off hace que B devuelva un resultado.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52