Compare junção interna e junção externa instruções SQL
-
05-07-2019 - |
Pergunta
O que é a diferença entre uma junção interna e se juntar exterior? Qual é o significado preciso desses dois tipos de junta?
Solução
Outras dicas
Wikipedia tem um longo artigo agradável sobre o tema [aqui] ( http: // en.wikipedia.org/wiki/Join_(SQL))
Mas, basicamente:
- Inner junta resultados de retorno, onde há linhas que satisfazem a cláusula WHERE em todas as tabelas
- Outer junta resultados de retorno, onde há linhas que satisfazem a cláusula WHERE em pelo menos uma das mesas
Você pode usar INNER JOIN para retornar todas as linhas de ambas as tabelas onde há um jogo. ie. na tabela resultante todas as linhas e colunas terão valores.
OUTER JOIN a tabela resultante pode ter colunas vazias. Junção externa pode ser a esquerda ou direita ??p>
LEFT OUTER JOIN retorna todas as linhas da primeira tabela, mesmo se não houver partidas na segunda tabela.
RIGHT OUTER JOIN retorna todas as linhas da segunda tabela, mesmo se não houver partidas na primeira tabela.
INNER JOIN
retorna linhas que existem em ambas as tabelas
OUTER JOIN
retorna todas as linhas que existem em ambas as tabelas
INNER JOIN retorna apenas uma linha juntada se o registro aparece em ambas mesa. Junção externa dependendo da direção irá mostrar todos os registros de uma tabela, juntou-se aos dados a partir deles se juntou a mesa onde existe uma linha correspondente
Usando Set matemática,
Inner Join is A ^ B;
Outer Join is A - B.
Por isso, é (+) é o seu lado A na consulta.
Suponha um esquema exemplo, com clientes e ordem:
-
INNER JOIN:. Recupera clientes com ordens somente
-
LEFT OUTER JOIN:. Recupera todos os clientes com ou sem ordens
-
RIGHT OUTER JOIN:. Recupera todas as ordens com ou sem correspondência de registros de clientes
Por informações sobre um pouco mais detalhada, consulte Inner e de associação exterior instruções SQL