【问题标题】:Access SQL many to many queryAccess SQL 多对多查询
【发布时间】:2009-03-20 11:55:36
【问题描述】:

我有三张桌子:

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

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

【问题讨论】:

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


    【解决方案1】:

    应该这样做:

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

    【讨论】:

    • 谢谢,正是我要找的东西
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您提供此替代解决方案,它更易于阅读和理解此解决方案,但我发现另一个解决方案的工作速度更快。
    猜你喜欢
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多