CONEXÃO EXTERNA ESQUERDA
A conexão externa esquerda combina CADA LINHA na tabela ESQUERDA com uma linha da tabela direita.
Com uma consulta interna, você está comparando linhas de duas tabelas, mas a ordem destas duas tabelas não importa.
Uma conexão Externa E ESQUERDA pega todas as linhas da tabela esquerda e combina com as linhas da tabela DIREITA.
É útil quando a tabela esquerda e a tabela direita possuem um relacionamento um-para-muitos.
Na CONEXÃO EXTERNA ESQUERDA, a tabela que vem depois de FROM e ANTES da conexão é uma tabela ESQUERDA, e a tabela que vem depois da conexao e uma TABELA DIREITA.
SELECT g.garoto, b.brinquedo
FROM garotas g LEFT OUTER JOIN brinquedos b
ON g.id_brinquedo = b.id_brinquedo;
Um valor NULL nos resultados de uma conexão externa esquerda quer dizer que a tabela direita não possui nenhum valor correspondente a tabela esquerda.
Se invertermos as tabelas o resultado muda.
SELECT g.garota, b.brinquedo
FROM brinquedos b LEFT OUTER JOIN garotas g
ON b.id_brinquedo = g.id_brinquedo
CONEXÃO EXTERNA DIREITA
A conexão externa direita avalia a tabela da direita em contraposição a tabela da esquerda.
As duas consultas abaixo fazem da tabela garotas a tabela esquerda.
SELECT g.garota, b.brinquedo
FROM brinquedos b – A tabela da direita.
RIGTH OUTER JOIN garotas g – A tabela da esquerda.
ON g.id_brinquedo = b.id_brinquedo;
SELECT g.garoto, b.brinquedo
FROM garotas g – A tabela a esquerda.
LEFT OUTER JOIN brinquedos b – A tabela a direita.
ON g.id_brinquedo = b.id_brinquedo;
Alterar a palavra ESQUERDA (LEFT) para direita (RIGTH) é mais fácil que alterar a ordem das tabelas em sua consulta.

