MySQL连接是否会实现此目的

时间:2013-02-05 00:08:53

标签: mysql join

我有一张表格,其中包含正在审核的商家信息,另一张表格记录了哪些商家信息已经过审核以及审核日期

我正在试图弄清楚是否有可能形成一个mysql查询,允许我只输出尚未审核的列表(即在列表中没有该列表的条目)。

所以在下面的例子中。我想查询列表来查找尚未审核的任何内容。在这种情况下,它只返回第一个列表(id#1),因为其他两个已经被审查。这是应该用MySQL连接完成的吗?

Listings Table:

id|title
1|First Listing
2|Second Listing
3|Third Listing
etc.

Reviewed Table:

id|listing_id|review_date
1|2|2013_02_05
2|3|2013_02_05

1 个答案:

答案 0 :(得分:0)

您可以像这样使用LEFT JOINNULL

SELECT L.*
FROM Listings L
  LEFT JOIN Reviewed R ON L.Id = R.Listing_Id
WHERE R.Id IS NULL

或者您可以使用NOT IN

SELECT L.*
FROM Listings L
WHERE ID NOT IN (SELECT Listing_ID FROM Reviewed)

这是SQL Fiddle

祝你好运。