SQL e suas peculiaridades

Sou novo no universo da programação, e a pouco tempo, estou trabalhando efetivamente com esse mundo maravilhoso, e conheço muitas pessoas empolgadas e legais. Estavamos esses dias discutindo sobre SQL e tirando algumas dúvidas que tinhamos com um colega mais experiente, e chegamos em uma questão que até então está sem explicação técnica.

Qual a diferença entre Left outer join e Left join no SQL. Algumas das conclusões que chegamos é que o left join surgiu por omissão do Outer, porém no fim, ambos chegam na mesma conclusão.

Mas será que há alguma diferença na performance, ou na forma de ler e organizar os resultados internamente.

LEFT JOIN e LEFT OUTER JOIN são equivalentes.

De forma geral, INNER e OUTER são opcionais. INNER é o default, a menos que você use LEFT, RIGHT ou FULL (e neste caso, implicitamente será OUTER). Ou seja:

Isso aqui É equivalente a isso
A LEFT JOIN B A LEFT OUTER JOIN B
A RIGHT JOIN B A RIGHT OUTER JOIN B
A FULL JOIN B A FULL OUTER JOIN B
A INNER JOIN B A JOIN B

basicamente cada tipo de join realiza a junção das tabelas de acordo com a matriz de venn.

  • inner join, irá juntar as tabelas e considerar apenas o que está nas duas tabelas;
  • left join, irá repetir a "tabela da esquerda", a tabela do seu primeiro critério, e irá buscar na segunda tabela;
  • right join, irá repetir a "tabela da direita", a tabela do seu segundo critério, e irá buscar na primeira tabela;
  • full join, irá mesclar todos os itens de todas as tabelas.

esse link aqui em baixo vai te explicar melhor e com imagens. https://www.w3schools.com/sql/sql_ref_join.asp