Lesson of 31
No exercĂcio anterior, usamos joins para emparelhar nomes de personagens de TV com seus atores. Quando vocĂŞ usa INNER JOIN
, isso é chamado de “inner join” porque só retorna linhas onde há dados tanto para o nome do personagem quanto para o ator.
No entanto, talvez vocĂŞ queira obter todos os nomes de personagens, mesmo se nĂŁo houver dados correspondentes para o nome do ator. Um LEFT JOIN
retorna todos os dados da primeira tabela (ou tabela “esquerda”), e se não houver dados correspondentes para a segunda tabela, retorna NULL
para essas colunas.
Usar left joins entre nomes de personagens e programas de TV ficaria assim: SELECT character.name, tv_show.name
FROM character
LEFT JOIN character_tv_show
ON character.id = character_tv_show.character_id
LEFT JOIN tv_show
ON character_tv_show.tv_show_id = tv_show.id;
VocĂŞ pode usar left joins para emparelhar nomes de personagens com os atores que os interpretam? Selecione as colunas: character.name, actor.name
Nota: Outras variantes de SQL tĂŞm RIGHT JOIN
e OUTER JOIN
, mas essas funcionalidades nĂŁo estĂŁo presentes no SQLite.