segunda-feira, 31 de agosto de 2009

Diferença entre UNION e JOIN

Uma pergunta constante em entrevistas é "Qual a diferença entre as clausulas UNION e JOIN em banco de dados?". Basicamente podemos responder com:
  • UNION: Combina os resultados de duas ou mais consultas em um único conjunto de resultados, que inclui todas as linhas pertencentes a todas as consultas da união. A operação UNION é diferente de usar junções que combinam colunas de duas tabelas. Exemplo:
SELECT ProductModelID, Name FROM Production.ProductModel WHERE ProductModelID NOT IN (3, 4) UNION SELECT ProductModelID, Name FROM dbo.Gloves ORDER BY Name;
  • JOIN: Combina os resultados (faz a junção) da busca em uma ou mais tabelas na mesma consulta. Podemos ter diferentes tipos de joins, tais como o Left e o Right. Exemplo de um JOIN normal:
SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name

Mais sobre JOIN aqui.


Enjoy.

Nenhum comentário:

Postar um comentário