INNER JOIN em várias tabelas

Nesse post vou mostrar com fazer uma junção (join) com três ou mais tabelas. Operação importante caso você queira juntar dados em mais de duas tabelas.

Vamos a um exemplo:

Digamos que você tenha três tabelas, e precisa consultar o Nome dos Autores e os Títulos de sua Autoria.

  • Livro – Com os dados dos livros
  • Autor_Livro – Que contem o Codigo do Livro e a Matrícula do Autor, essa tabela faz a junção entre Livro e Autor
  • Autor – Com os dados do Autor

INNER JOIN MAIS DE UMA TABELA

O join para mais de duas tabelas funciona como um join simples, ou seja, basta você ir acrescentado mais joins na sua consulta.

Veja como fica a consulta:

select nome as Nome, titulo as Titulo
from autor a
join autor_livro al
on al.matricula = a.matricula

join livro l
on al.codigo_livro = l.codigo

No exemplo acima fizemos um Join para o Nome e outro Join para o Titulo.

O resultado será o seguinte:

INNER JOIN MAIS DE UMA TABELA 02

Se você desejar que em sua consulta retorne todos os dados, mesmo que na ligação uma das tabelas não contenha dados, terá que usa RIGHT JOIN ou LEFT JOIN.

Veja mais sobre Inner Join, Left Join e Right Join.