Uma conexão Interna e uma conexão cruzada com alguns resultados removidos por uma condicionam consulta.
Conexão Cartesiana a mais simples "CROSS JOIN".
A conexão cartesiana pega cada valor da primeira tabela e emparelha com cada valor da segunda tabela.
A conexão cruzada resulta em cada linha de uma tabela cruzada com cada linha da segunda tabela.
SELECT b.brinquedo, g.garoto
FROM brinquedos AS b CROSS JOIN garotos AS g;
Uma CONEXAO INTERNA combina os registros de duas tabelas usando operadores de comparação em uma condição. Colunas são retornadas apenas onde as linhas conectadas combinam com a condição.
Sintax:
SELECT f.nome,
f.telefone,
d.nome AS nome_dependente
FROM funcionario f INNER JOIN dependente d ON (f.id_funcionario = d.id_funcionario);
Conexões internas EQUIJOIN.
São as conexões que testam igualdade, veja no exemplo acima, depois da clausula ON o que liga as chaves são o símbolo de “=”. Neste caso elas testam igualdades.
Conexões internas NÃO-EQUIJOIN.
Conforme exemplo abaixo os símbolos que unem as tabelas depois da clausula ON é o “<>”, estas conexões testam por desigualdades.
Ex:
SELECT f.nome,
f.telefone,
d.nome AS nome_dependente
FROM funcionario f INNER JOIN dependente d ON (f.id_funcionario <> d.id_funcionario);
Conexão interna: CONEXÃO NATURAL.
Identificam colunas com nomes iguais, segue exemplo abaixo.
EX:
SELECT garotos.garoto, brinquedos.brinquedo
FROM garotos