你必须使用左连接而不是右连接
不同的联接
内连接:仅保留两个表中有数据的行
left join:保留左表的所有行,并添加正确的行
右连接:保留右表的所有行,并添加左边的可能
左表总是我们已有的表,右表是我们加入的表.
对于记录,还有一个交叉连接,它将左表中的每一行与右表中的每一行连接起来,但是这一行并不经常使用.
我希望现在这一切对你来说更清楚:)
更正了查询
select bird_name, member_id
from birds
left join bird_likes on birds.bird_id = bird_likes.bird_id
where member_id = 2;
请注意,这假设列member_id在bird表中,否则您可以保持这样的条件:
select bird_name, member_id
from birds
left join bird_likes on
birds.bird_id = bird_likes.bird_id and
bird_likes.member_id = 2;