Diferença entre INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL OUTER JOIN

A linguagem SQL permite a junção de tabelas, porém as vezes esses comandos caem no esquecimento e/ou nos confundimos qual a real finalidade de cada um.

Vejamos a imagem abaixo, representando as várias formas de JOINS:

inner join left join outer join

INNER JOIN

Interseção entre as tabelas.

Exemplo.:

 

RIGHT JOIN e LEFT JOIN

Além da interseção, busca também resultados que não possuem interseção. Para LEFT JOIN são pegos os resultados da tabela a esquerda, além do resultado da interseção entre as duas tabelas, e para RIGHT JOIN são pegos os valores da tabela a direita, além do resultado da interseção entre as duas tabelas.

Exemplo:

 

FULL OUTER JOIN

Além da interseção faz também LEFT JOIN e RIGHT JOIN, ou seja, busca na tabela A resultados que não possuem interseção, busca na tabela B resultados que não possuem interseção, e por fim busca os resultados da interseção.

Exemplo:

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *