INNER JOIN em várias tabelas

Publicado por MapexMind em: maio 1, 2013

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.

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.

Loading