如何查询不匹配的记录

How to query for non-matching records

我想创建一个查询来查找那些没有评论的成员。

表 1 - 所选项目
member/audno
733 12
733 13
733 14
844 12
844 13
844 14
955 12
955 13
955 14

表 2 - 评论
member/audno/评论数
733 12 111
844 13 112
955 14 113

使用没有评论的项目的成员的结果创建新查询: member/audno
733 13
733 14
844 12
844 14
955 12
955 13

我该怎么做?

试试这个

SELECT *
FROM
    items_selected I
WHERE
    NOT EXISTS (
        SELECT *
        FROM
            reviews R
        WHERE
            R.member = I.member AND R.audno = I.audno
    )

另一个等效查询基于左连接

SELECT I.*
FROM
    items_selected I
    LEFT JOIN reviews R
        ON I.member = R.member AND I.audno = R.audno
WHERE
    R.member IS NULL

您可以同时测试它们,看看哪个性能更好。