我前几天调试了一个存储过程,发现了一些像这样的逻辑:
SELECT something
FROM someTable
WHERE idcode <> (SELECT ids FROM tmpIdTable)
Run Code Online (Sandbox Code Playgroud)
这没有任何回报.我认为"<>"看起来有点奇怪,所以我将其改为"NOT IN"然后一切正常.我想知道为什么会这样?这是一个非常古老的过程,我不确定该问题存在多久,但我们最近从SQL Server 2005切换到SQL Server 2008时发现了这个问题."<>"和"NOT IN"之间的真正区别是什么,并且Server2005和2008之间的行为有所改变?