O que é Union (SQL)
O Union é um operador utilizado na linguagem SQL (Structured Query Language) para combinar o resultado de duas ou mais consultas em um único conjunto de resultados. Ele permite que você recupere dados de várias tabelas e os apresente como se fossem uma única tabela. O Union é uma das operações mais comuns e poderosas no SQL, e é amplamente utilizado em consultas complexas.
Funcionamento do Union
O Union funciona combinando as linhas de duas ou mais consultas em um único conjunto de resultados. Para que o Union funcione corretamente, as consultas devem ter o mesmo número de colunas e os tipos de dados das colunas devem ser compatíveis. O Union também remove automaticamente as duplicatas do conjunto de resultados final, garantindo que cada linha seja única.
Sintaxe do Union
A sintaxe básica do Union é a seguinte:
SELECT coluna1, coluna2, ... FROM tabela1
UNION
SELECT coluna1, coluna2, ... FROM tabela2;
É importante observar que as consultas dentro do Union devem ter a mesma quantidade de colunas e os tipos de dados das colunas devem ser compatíveis. Caso contrário, ocorrerá um erro de sintaxe.
Exemplo de uso do Union
Vamos supor que temos duas tabelas, “clientes” e “fornecedores”, e queremos obter uma lista de todos os contatos de ambas as tabelas. Podemos usar o Union para combinar os resultados das consultas nas duas tabelas:
SELECT nome, telefone FROM clientes
UNION
SELECT nome, telefone FROM fornecedores;
Essa consulta retornará uma lista de nomes e telefones de todos os clientes e fornecedores, sem duplicatas.
Union All
Além do Union, existe também o Union All. A diferença entre eles é que o Union All não remove as duplicatas do conjunto de resultados final. Ou seja, se houver linhas duplicadas nas consultas, elas serão mantidas no resultado final. O Union All é mais rápido do que o Union, pois não precisa verificar e remover as duplicatas.
Exemplo de uso do Union All
Suponha que temos duas tabelas, “vendas_2020” e “vendas_2021”, e queremos obter uma lista de todas as vendas realizadas nos dois anos. Podemos usar o Union All para combinar os resultados das consultas nas duas tabelas:
SELECT produto, data FROM vendas_2020
UNION ALL
SELECT produto, data FROM vendas_2021;
Essa consulta retornará uma lista de produtos e datas de todas as vendas realizadas em 2020 e 2021, incluindo possíveis duplicatas.
Considerações finais
O Union é uma ferramenta poderosa para combinar os resultados de consultas em um único conjunto de resultados. Ele permite que você recupere dados de várias tabelas e os apresente de forma coesa. No entanto, é importante lembrar que as consultas dentro do Union devem ter o mesmo número de colunas e os tipos de dados das colunas devem ser compatíveis. Além disso, é possível utilizar o Union All quando se deseja manter as duplicatas no resultado final.
Em resumo, o Union é uma funcionalidade essencial para consultas complexas no SQL, permitindo a combinação de dados de diferentes tabelas de forma eficiente e precisa.