Inner join
Obs.: Os JOINs 5, 6 e 7 são na verdade variações dos anteriores, mas ainda podem ser considerados JOINs, devido aos seus comportamentos.
INNER JOIN
[pic]
Este é simples, o mais entendível e o mais comum. Esta consulta retornará todos os registros da tabela esquerda (tabela A) que têm correspondência com a tabela direita (tabela B). Podemos escrever este JOIN da seguinte forma:
SELECT *
FROM A
INNER JOIN B
ON A.Key = B.Key
LEFT JOIN
[pic]
Esta consulta retorna todos os registros da tabela esquerda (tabela A) e as correspondências que existirem com a tabela direita (tabela B). O código ficará da seguinte forma:
SELECT *
FROM A
LEFT JOIN B
ON A.Key = B.Key
RIGHT JOIN
[pic]
Esta consulta retornará todos os registros da tabela direita (tabela B) e as correspondências que existirem com a tabela esquerda (tabela A). O código ficará da seguinte forma:
SELECT *
FROM A
RIGHT JOIN B
ON A.Key = B.Key
OUTER JOIN
[pic]
Este JOIN também é conhecido como FULL OUTER JOIN ou FULL JOIN. Esta consulta retornará todos os registros das duas tabelas e juntando também os registros correspondentes entres as duas tabelas. O código ficará da seguinte forma:
SELECT *
FROM A
FULL OUTER JOIN B B
ON A.Key = B.Key
LEFT Excluding JOIN
[pic]
Esta consulta retornará apenas os registros da tabela esquerda que não têm correspondência com a tabela direita. O código ficará da seguinte forma:
SELECT *
FROM A
LEFT JOIN B
ON A.Key = B.Key
WHERE B.Key IS NULL
RIGHT “excluindo” JOIN
[pic]
Esta consulta retornará todos os registros da tabela esquerda que não têm correspondência com a tabela direita. O