为什么我没有从这个 SQL 查询中得到任何结果 (MS Access)

Why am I not getting any results from this SQL query (MS Access)

我有两个 table,一个是 Access 2010 中的本地 table (Employees),另一个是链接的 table 在 SQL Server 2014 数据库中 (dbo_Employees)。查询是 运行 inside Access.

作为参考,两个 table 是相同的。相同的列,相同的数据。它们实际上是彼此的副本。唯一的区别是我从 SQL 服务器 table 中删除了一条记录。我这样做是因为我尝试 运行 的查询是在 Employees table 中查找与 [=18] 中存在的记录相匹配的所有记录=]dbo_Employeestable。这应该 return 除一条已删除记录外的所有记录。虽然它确实存在于 Employees table 中,但由于它不存在于 dbo_Employees table 中,因此它将被排除在结果中。这是查询:

select Employees.ID
from Employees
where Employees.ID IN (SELECT dbo_Employees.ID FROM dbo_Employees)

当我运行这个的时候,我什么也得不到。我究竟做错了什么?

您确定在两个 table 中都有匹配的数据吗?

什么是

SELECT
    Employees.ID
    , dbo_Employees.ID
FROM Employees 
    INNER JOIN dbo_Employees ON Employees.ID = dbo_Employees.ID 

return?它 return 有任何行吗?

否则,下面的查询return是什么?

SELECT 
    Employees.ID
    , dbo_Employees.ID
FROM Employees 
    FULL JOIN dbo_Employees ON Employees.ID = dbo_Employees.ID

您可以使用第二个查询来查看您的两个 table 中哪些数据匹配。查询将在两个 table 中输出数据,同时将匹配的 ID 值放在同一行,并在一个或另一个 table 的对应 ID 列中显示 NULL 值(如果有)不匹配。

(我知道这不是一个合法的答案,它更像是一个评论,但这是 OP 应该检查的第一件事)