仅选择另一个表中的非现有数据

时间:2013-04-09 14:50:48

标签: sql join

我有一个具有id列的表,而table2具有相同的列

我想只选择table2中的id,这些id在表1中不存在。如何选择?

3 个答案:

答案 0 :(得分:1)

使用LEFT JOIN加入两个表。

SELECT  a.*
FROM    table2 a
        LEFT JOIN table1 b
            ON a.ID = b.ID
WHERE   b.ID IS NULL

要进一步了解联接,请访问以下链接:

答案 1 :(得分:0)

看一下sql join查询。

答案 2 :(得分:0)

这是使用子查询和IN执行此操作的一种方法。已经提到的LEFT JOIN方法可能更有效,但IMO这种方法更具语义意义,因此更容易阅读。

SELECT t2.ID
FROM table2 t2
WHERE t2.ID NOT IN
(
   SELECT t1.ID
   FROM table1 t1
)