Neste artigo você vai aprender qual a diferença entre INNER JOIN e OUTER JOIN, de uma maneira simples e exemplificada
Fala programador(a), beleza? Bora aprender mais sobre JOINs e também sobre SQL!
Vamos supor que temos duas tabelas A e B
Quando realizamos uma query de INNER JOIN, apenas os dados que tem ligação entre as das tabelas serão retornados
Ou seja, colunas que possuem dados excedentes, tanto em A ou B, não serão retornadas
Se um registro de A, não possui uma ligação direta com B, este registro não será um dado retornado em um INNER JOIN
Normalmente esta relação entre tabelas é feita a partir de um id, ou seja, uma foreign key
Neste mesmo caso, apenas resultados que contenham o id serão retornados ( WHERE A.id = B.ref_id )
Já nos OUTERs JOINs temos resultados diferentes
Se optarmos por um LEFT OUTER JOIN, todas os registros da tabela A serão retornados, mesmo sem ligação
Já os da tabela B, somente os com ligação teremos o retorno
E o contrário acontece com RIGHT OUTER JOIN, temos que todas as colunas sem ligação da tabela B retornam
Já as colunas da tabela A necessitam ter alguma ligação imposta na parte do WHERE da consulta
Onde que geralmente temos a ligação por meio do id
Resumindo:
- INNER JOIN: Apenas os resultados que possuem ligação;
- OUTER JOIN: Depende do JOIN, pode trazer dados excedentes da tabela 1 ou 2;
Conclusão
Neste artigo você aprendeu a diferença entre INNER JOIN e OUTER JOIN em SQL
Para o INNER teremos apenas resultados que possuem ligação entre ambas as tabelas
Já no OUTER dependerá de qual JOIN foi escolhido, mas dados sem ligações poderão ser obtidos
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!