Diferença chave: as junções no SQL são realizadas para combinar os dados de duas tabelas diferentes. Uma Junta Interna é uma condição que resulta nas linhas que satisfazem a cláusula 'where' em “todas as tabelas”; enquanto uma associação externa é uma condição que resulta nas linhas que satisfazem a cláusula "where" em "pelo menos uma das tabelas".
Ao implementar as junções, as tabelas temporárias são criadas, elas são baseadas em colunas. Deve haver sempre duas tabelas, para as condições de junção. Essas condições, em seguida, mesclam os respectivos componentes de uma tabela com os outros componentes e geram uma tabela inteiramente nova. O objetivo dessas tabelas é extrair os dados ou informações significativos e necessários. Dependendo das condições, existem dois tipos de junções, as junções interna e externa.

Sintaxe do SQL INNER JOIN:
SELECT column_name (s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
A palavra-chave INNER JOIN seleciona todas as linhas das duas tabelas, desde que haja correspondência entre as colunas nas duas tabelas.
As junções internas dependem da seleção dos projetos e características do banco de dados. Conseqüentemente, essas junções internas são usadas nas associações Equi-Joins e Natural. No Equi Join, há um tipo específico de comparação que é usado para equalizar as duas tabelas dadas. Portanto, essa tabela usa o predicado igual. A junção natural é um tipo de junção Equi.

A sintaxe para Equi Join é a seguinte:
S ELE *
FROM table1, tabela 2
WHERE table1.coloumn_name = table2.coloumn_name;
Se as colunas em uma junção equi tiver o mesmo nome, a respectiva versão SQL fornecerá uma notação abreviada opcional que pode ser expressa pela construção USING como:
SELECIONAR *
FROM table1 INNER JOIN table2 USING (nome_da_coluna);
A sintaxe para junção natural é a seguinte:
SELECIONAR *
FROM table1 NATURAL JOIN tabela2;
Uma “junção externa” não precisa das condições correspondentes para os registros. Essa condição de junção mantém todos os outros registros, além dos registros não correspondentes. Essa junção é distribuída posteriormente nas condições de junção externa esquerda, direita e completa, que são implementadas de acordo com as condições e atributos desejados da tabela.

Junção Externa à Esquerda
A palavra-chave LEFT JOIN retorna todas as linhas da tabela à esquerda (table1), com as linhas correspondentes na tabela à direita (table2). Isso resulta “NULL” no lado direito quando não há correspondência.
A sintaxe para Junção Externa à Esquerda é a seguinte:
SELECT column_name (s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name;

Junção Externa Direita
A palavra-chave RIGHT JOIN retorna todas as linhas da tabela da direita (tabela 2), com as linhas correspondentes na tabela da esquerda (tabela 1). O resultado é NULL no lado esquerdo quando não há correspondência.
A sintaxe para Right Outer Join é a seguinte:
SELECT column_name (s)
FROM table1
DIREITO EXTERIOR JUNTO table2
ON table1.column_name = table2.column_name;

Junção Externa Completa
A palavra-chave FULL OUTER JOIN retorna todas as linhas da tabela da esquerda (table1) e da tabela da direita (table2). A palavra-chave FULL OUTER JOIN combina o resultado de junções esquerda e direita.
A sintaxe para a associação externa completa é:
SELECT column_name (s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
Comparação entre a junção interna e a junção externa:
Junção interna | Outer Join | |
Função básica | As junções internas são basicamente usadas para encontrar linhas correspondentes entre duas tabelas. | Junção externa mantém as linhas de qualquer tabela ou ambas as tabelas. |
Existência de variáveis comuns | Aqui a variável comum deve obrigatoriamente estar em ambas as tabelas. | Aqui, a variável depende apenas da primeira tabela, que pode ou não estar presente na segunda tabela. |
Retorna | A junção interna só retornará linhas nas quais haja uma correspondência com base no predicado de junção. | A associação externa retornará todas as linhas, sejam elas baseadas em correspondência ou não correspondidas no predicado de associação. |
Costumava | Ele é usado para exibir os registros somente quando os registros estão presentes nas duas tabelas. | Ele é usado para visualizar todos os registros em apenas uma tabela. |
Aplicável em | Eles são aplicáveis em: Equi-Join e Junção Natural | Eles são aplicáveis como: Junção Externa à Esquerda Junção Externa Direita Junção Externa Completa |