如何查询不匹配的记录
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
您可以同时测试它们,看看哪个性能更好。
我想创建一个查询来查找那些没有评论的成员。
表 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
您可以同时测试它们,看看哪个性能更好。