debes usar left join
en lugar de right join
Las diferentes uniones
inner join
:mantenga solo las filas donde hay datos en ambas tablas
left join
:mantenga todas las filas de la tabla de la izquierda y agregue lo que sea posible de la derecha
right join
:mantenga todas las filas de la tabla de la derecha y agregue lo que sea posible de la izquierda
La tabla de la izquierda es siempre la tabla que ya tenemos y la tabla de la derecha es con la que nos estamos uniendo.
Para que conste, también hay una cross join
que une cada fila de la tabla de la izquierda con cada fila de la tabla de la derecha, pero esta no se usa muy a menudo.
Espero que todo esto ahora sea más claro para ti :)
Consulta corregida
select bird_name, member_id
from birds
left join bird_likes on birds.bird_id = bird_likes.bird_id
where member_id = 2;
Tenga en cuenta que esto supone que la columna member_id
está en la tabla de pájaros, de lo contrario, puede mantener la condición de esta manera:
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;