Recomendado, 2024

Escolha Do Editor

Diferença entre JOIN e UNION no SQL

JOIN e UNION são as cláusulas em SQL, usadas para combinar os dados de duas ou mais relações. Mas a maneira como eles combinam dados e formato do resultado obtido difere. A cláusula JOIN combina os atributos de duas relações para formar as tuplas resultantes, enquanto a cláusula UNION combina o resultado de duas consultas. Vamos discutir a diferença entre JOIN e UNION com a ajuda do gráfico de comparação mostrado abaixo.

Gráfico de comparação

Base para ComparaçãoJUNTE-SEUNIÃO
BasicJOIN combina atributos das tuplas presentes nas duas relações diferentes que compartilham alguns campos ou atributos comuns.UNION combina tuplas das relações que estão presentes na consulta.
CondiçãoJOIN é aplicável quando as duas relações envolvidas têm pelo menos um atributo comum.UNION é aplicável quando o número de colunas presentes na consulta é o mesmo e os atributos correspondentes têm o mesmo domínio.
TiposINTERNO, CHEIO (EXTERIOR), JOGO ESQUERDO, JUNTO DIREITO.UNIÃO e UNIÃO TODOS.
EfeitoO comprimento das tuplas resultantes é mais em comparação com o comprimento das tuplas das relações envolvidas.O número de tuplas resultantes é mais em comparação com o número de tuplas presentes em cada relação envolvida na consulta.
Diagrama

Definição de JOIN

A cláusula JOIN no SQL combina as tuplas de duas relações ou tabelas, resultando em um tamanho de tupla maior. A tupla resultante contém atributos de ambas as relações. Os atributos são combinados com base nos atributos comuns entre eles. Os diferentes tipos de JOIN no SQL são INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

O INNER JOIN combina as tuplas de ambas as tabelas, desde que haja um atributo comum entre as duas. LEFT JOIN resulta em todas as tuplas da tabela da esquerda e na tupla correspondente da tabela da direita. RIGHT JOIN resulta em todas as tuplas da tabela da direita e apenas na tupla correspondente da tabela da esquerda. FULL OUTER JOIN resulta em todas as tuplas da tabela, embora elas tenham atributos correspondentes ou não.

INNER JOIN é o mesmo que o JOIN. Você também pode soltar a palavra-chave INNER e simplesmente usar JOIN para executar o INNER JOIN.

Definição de UNION

UNION é uma operação definida no SQL. UNON combina o resultado de duas consultas. O resultado de UNION inclui as tuplas de ambas as relações presentes na consulta. As condições que devem ser satisfeitas tomam a UNIÃO de duas relações são:

  1. As duas relações devem ter o mesmo número de atributos.
  2. Os domínios do atributo correspondente devem ser iguais.

Existem dois tipos de UNION que são UNION e UNION ALL . O resultado obtido usando UNION não inclui duplicatas. Por outro lado, o resultado obtido usando UNION ALL mantém duplicado.

Principais diferenças entre o JOIN e o UNION no SQL

  1. A principal diferença entre JOIN e UNION é que JOIN combina as tuplas de duas relações e as tuplas resultantes incluem atributos de ambas as relações. Por outro lado, o UNION combina o resultado de duas consultas SELECT.
  2. A cláusula JOIN é aplicável somente quando as duas relações envolvidas têm pelo menos um atributo comum em ambos. Por outro lado, a UNIÃO é aplicável quando as duas relações têm o mesmo número de atributos e os domínios dos atributos correspondentes são os mesmos.
  3. Existem quatro tipos de JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Mas existem dois tipos de UNION, UNION e UNION ALL.
  4. Em JOIN, a tupla resultante tem o tamanho maior, pois inclui atributos da relação. Por outro lado, em UNION, o número de tuplas é aumentado como resultado da tupla de ambas as relações presentes na consulta.

Conclusão:

Ambos sendo operações de combinação de dados são usados ​​em diferentes situações. JOIN é usado quando queremos combinar atributos de duas relações tendo pelo menos um atributo em comum. UNION é usado quando queremos combinar as tuplas das duas relações que estão presentes na consulta.

Top