Answers:
NOT IN (SELECT ...)
并且NOT EXISTS (SELECT .. WHERE correlation..)
是“反半联接”。也就是说,基于识别集的操作
WHERE NOT (MyColumn = 1)
是一个要求查看所有行的过滤器
有关更多信息,请参见:
编辑:为了完整性
左联接通常表现较差。参见http://explainextended.com/2009/09/15/not-in-vs-not-exists-vs-left-join-is-null-sql-server
该站点指出,在MySQL中,NOT EXISTS没有像其他RDBMS那样得到优化,并且LEFT JOIN更好
在SQL Server中,根据经验,我知道LEFT JOIN的运行不如NOT EXISTS好。您通常还需要DISTINCT来获得与另一个处理步骤相同的结果。