如何修复此JOIN查询?

时间:2013-05-08 18:20:56

标签: mysql sql

我有这个问题:

SELECT * 
FROM people 
JOIN pets ON people.id = pets.owner_id;

它会为有宠物的人返回结果。但并非所有人都有宠物。我希望查询返回人员表中的所有人,如果他们碰巧有宠物也可以归还宠物。

但是,由于宠物是可选的,即使没有宠物的人,我怎样才能让这个查询回归?

2 个答案:

答案 0 :(得分:7)

使用 LEFT JOIN

SELECT * 
FROM people 
LEFT JOIN pets ON people.id = pets.owner_id;

<强> JOIN Explanation

在SQL中加入 enter image description here

答案 1 :(得分:-1)

JOIN默认为INNER JOIN

在你的情况下你应该使用

left join