不在访问查询中

soc*_*ose 1 sql ms-access ms-access-2003

我下面有两张表

tblLoc(LocCode) tblData(Item,LocCode)

在 tblData 中,有在 tblLoc 中找不到的额外 LocCode。

SELECT D.LocCode
FROM tblData AS D
WHERE D.LocCode NOT IN (SELECT LocCode FROM tblLoc);
Run Code Online (Sandbox Code Playgroud)

我使用这个查询。它很慢。有没有更好的查询?

Han*_*sUp 5

在 tblData 和 tblLoc 之间的 LocCode 上使用 LEFT JOIN。将结果集限制为仅 tblLoc LocCode 为 Null 的那些行。如果您还没有,请在 LocCode 上为 tblLoc 添加一个索引。

SELECT d.LocCode
FROM
    tblData AS d
    LEFT JOIN tblLoc AS l
    ON d.LocCode = l.LocCode
WHERE l.LocCode Is Null;
Run Code Online (Sandbox Code Playgroud)