mysql join以排除缺少的条目

时间:2013-10-20 19:56:49

标签: mysql join

我有两个表,我希望显示第一个表中的所有记录,其中连接它们的字段不在第二个表中。

$sql = "SELECT d.*,t.id from `donations` d
JOIN `teams` t
ON d.teamid = t.id
 WHERE t.id IS NULL";

换句话说,我想加入捐款和团队。但我想只从团队表中没有团队字段的捐款中检索记录。

以上显示零记录,并没有做到这一点。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:3)

SELECT d.*,t.id from `donations` d
LEFT OUTER JOIN `teams` t
ON d.teamid = t.id
 WHERE t.id IS NULL

答案 1 :(得分:1)

您可以使用子查询。

select * from donations
where teamid not in (
    select id from teams
)

那应该选择所有团队中没有出现的团队捐款。