访问SQL多对多查询

时间:2009-03-20 11:55:36

标签: sql ms-access ms-access-2007

我有三张桌子:

Author(AID, Name)
Title(TID, Name)
AuthorOfTitle(ID, AID, TID)

我的问题是如何只能看到与没有标题相关的作者,即AuthorOfTitle中没有记录的作者。如何在SQL中执行此操作。顺便说一句,我正在使用MS Access 2007。

2 个答案:

答案 0 :(得分:1)

应该这样做:

SELECT A.*
FROM Author A LEFT JOIN AuthorOfTitle T ON A.AID = T.AID
WHERE T.ID IS NULL

答案 1 :(得分:0)

您可以使用foo not in (select ... from bar) SQL子查询表达式来执行此操作。

SELECT AID, Name FROM Author 
WHERE Author.AID NOT IN (SELECT AuthorOfTitle.AID FROM AuthorOfTitle)