Como usar a cláusula UNION em um Query

 

O uso do Query gera muitas vantagens e economiza muitas linhas de programação. Mas muitas vezes nos deparamos com situações que parecem não ser resolvidas com sentenças SQL. Vejamos um exemplo:

Você possui 2 tabelas (VendasExternas e VendasInternas) e deseja fazer um resumo de todas as vendas de um vendedor chamado Marcos. Se você usar a sentença

 

SELECT Nome, Valor FROM VendasExternas, VendasInternas

WHERE Nome = 'Marcos'

 

Você vai obter como resultado uma query com 4 campos (Nome, Valor, Nome_1 e Valor_1) e um resultado bem confuso para ser manipulado. Para resolver o problema, você poderá usar a sentença:

 

SELECT Nome, Valor FROM VendasExternas

WHERE Nome = 'Marcos'

UNION ALL

SELECT Nome, Valor FROM VendasInternas

WHERE Nome = 'Marcos'

 

O código anteiror, pede para que sejam identificados as vendas de Marcos na tabela VendasExternas, as vendas de Marcos na tabela VendasInternas e que o resultado da primeira seja unido com o resultado da segunda produzindo uma consulta com apenas 2 colunas.