Sql server 我如何获得不在一组中的所有结果?
我加入两个表,然后我想加入第三个表,但我想得到不加入的记录的结果。我真的不知道用什么来做这件事。我可以搜索出现在联接外部的空值吗?一般来说,执行此操作的最佳方法是使用NOT in或NOT EXISTS,它们在SQL Server 2005+中的后台是相同的 它们优先于左连接…为空,因为它们短路-一旦找到匹配条件,将跳过该记录。LEFT JOIN加载整个数据集和关系,然后删除记录Sql server 我如何获得不在一组中的所有结果?,sql-server,tsql,Sql Server,Tsql,我加入两个表,然后我想加入第三个表,但我想得到不加入的记录的结果。我真的不知道用什么来做这件事。我可以搜索出现在联接外部的空值吗?一般来说,执行此操作的最佳方法是使用NOT in或NOT EXISTS,它们在SQL Server 2005+中的后台是相同的 它们优先于左连接…为空,因为它们短路-一旦找到匹配条件,将跳过该记录。LEFT JOIN加载整个数据集和关系,然后删除记录 SELECT a.* FROM TableA a <other joins> WHERE a.Compar
SELECT a.*
FROM TableA a
<other joins>
WHERE a.ComparisonField NOT IN (SELECT RelationField FROM OtherTable)
或
一般来说,执行此操作的最佳方法是使用notin或notexists,它们在SQL Server 2005+中的幕后是相同的
它们优先于左连接…为空,因为它们短路-一旦找到匹配条件,将跳过该记录。LEFT JOIN加载整个数据集和关系,然后删除记录
SELECT a.*
FROM TableA a
<other joins>
WHERE a.ComparisonField NOT IN (SELECT RelationField FROM OtherTable)
或
请提供所有3个表的模式以及预期输出的示例数据。一般来说,我认为您正在寻找EXISTS.+1@OMGPonies-这是我对这个问题的goto资源,它涉及很多。请提供所有3个表的模式以及预期输出的示例数据。总的来说,我想你是在寻找存在。+1@OMGPonies-这是我这个问题的goto资源,它出现了很多。不知道为什么我的问题被关闭了,因为这是我想要的答案谢谢!不知道为什么我的问题结束了,因为这是我一直在寻找的答案,谢谢!