您必须使用
left join而不是
right join
不同的联接
inner join:仅保留两个表中都有数据的行
left join:保留左侧表格的所有行,并添加右侧表格中的所有内容
right join:保留右侧表的所有行,并从左侧添加所有可能的行
左表始终是我们已经拥有的表,右表是我们正在连接的表。
为了便于记录,还有一个
cross 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;



