MS Access SQL:返回表1中未包含在表2中的行

时间:2014-12-04 14:34:15

标签: sql ms-access ms-access-2010

我使用MS Access SQL比较两个数据集,这似乎是StackOverflow上的常见问题。

我发现了一个类似的问题,我认为这是一个有效的答案,但有一部分答案我不明白。

链接: How do I get all the rows in one table that are not in another in MS Access?

接受且最受欢迎的答案:

SELECT TableB.con_number
FROM TableB
WHERE NOT EXISTS (SELECT 1 
                  FROM TableA 
                  WHERE TableA.con_number = TableB.con_number);

我不理解1声明中的SELECT 1。为什么会有1

1 个答案:

答案 0 :(得分:2)

1可能是任何东西。如果你愿意,你可以把“屁”放在那里。该子查询必须返回一些内容,以便“NOT EXISTS”查看TableA.con_number = TableB.con_number

时是否存在某些内容

话虽如此,似乎更好的查询可能是:

SELECT TableB.con_number
FROM tableB
    LEFT JOIN TableA on
        TableB.con_number=TableA.con_number
WHERE tableA.Con_Number IS NULL
GROUP BY TableB.Con_number

除非我对这些表格有一些细微差别。