2011-08-12 40 views
0

我有一个表,其中列A的值为{22,18,17},另一个表的列B的值为{18,22 }当我做一个查询像如何比较2个表中的2列来检查不等的值

select * from Table 1 where column A not in (select column B in Table 2). 

这给了我3行{22,18,17}

我想只有17作为输出。

我是新手到SQL谁能帮助我

+0

我使用SQL Server – sreeprasad

+0

我使用2008 Express版本 – sreeprasad

+0

谢谢 - **和**请为未来的问题:** **总是提供那些关键信息就会立即出现,当你发布这些问题时! –

回答

2
SELECT * FROM Table1 as T1 
LEFT JOIN Table2 as T2 on T1.ColumnA = T2.ColumnB 
WHERE T2.T2ID IS NULL 
+0

这不比'NOT IN' /'NOT EXISTS'更有效。见http://sqlinthewild.co.za/index.php/2010/03/23/left-outer-join-vs-not-exists/ –

+0

感谢您的文章。 – TrevDev