# Tutorial SQL UNION: Combinar resultados em tabela única

O comando SQL `UNION` **combina registros de duas ou mais tabelas em uma única tabela de resultados**, eliminando duplicatas. Com ele, você torna-se capaz de reunir registros compatíveis em uma mesma tabela, para consultas de dados mais eficientes e organizadas.

## O que é SQL `UNION`?

Seja com registros como informações de clientes, preços ou produtos, dados de projetos ou financeiros, a manutenção de banco de dados complexos é um desafio. Isso inclui a necessidade de que administradores **combinem registros relacionados em tabelas de resultados significativas**. O comando [SQL](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/) `UNION` é frequentemente utilizado para isso. Usando `UNION` para consultas de dados, comparações, análises ou modificações em registros, você pode combinar registros selecionados de uma ou mais tabelas e remover possíveis duplicatas.

Ao combinar `UNION` com outros comandos SQL e funções como `ORDER BY`, `GROUP BY`, `WHERE` ou `HAVING`, você cria **estruturas de dados relevantes conforme critérios claros** para suas análises, relatórios ou atualizações. Com funções agregadas como [SQL AVG](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-avg/) ou [SQL SUM](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-sum/), você também pode combinar tabelas e ao mesmo tempo calcular e ordenar os resultados conforme necessário.

Dica Se você está começando agora a trabalhar com SQL, pode ser interessante conhecer conceitos básicos dessa linguagem de banco de dados. Nossa [introdução SQL com exemplos](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/aprender-sql-com-exemplos/ "Aprender SQL com exemplos") apresenta as principais funções e os fundamentos da linguagem.

## Sintaxe de SQL `UNION`

A estrutura básica do comando SQL `UNION` é a seguinte:

```sql
SELECT  ColunaA, ColunaB, … ou *  FROM  TabelaA
UNION
SELECT ColunaA, ColunaB, … ou *  FROM  TabelaB
```

Esses são os parâmetros utilizados:

- `SELECT`: Com a palavra-chave [SQL SELECT](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select/), você define as colunas que deseja combinar de duas tabelas. Com um asterisco `*`, você pode selecionar todos os registros. O número de colunas selecionadas deve ser idêntico em cada elemento SELECT de uma instrução `UNION` e estar na mesma ordem.
- `UNION`: Combina os registros selecionados de duas tabelas em uma tabela de resultados.

## Aplicações de SQL `UNION`

Se você deseja combinar registros relacionados de forma simples, como arquivos de clientes, dados financeiros ou informações de produtos e projetos de maneira simples, o SQL `UNION` é a ferramenta ideal. Em várias indústrias, o comando SQL é utilizado, por exemplo, para as seguintes finalidades:

- Criar dossiês digitais completos a partir de dados de clientes, projetos, pacientes ou pedidos.
- Gerar relatórios de vendas ou comparar dados de diferentes departamentos.
- Analisar comportamento de compra para gerar leads.
- Analisar e comparar dados financeiros e de transações.
- Remover duplicatas de relatórios ou registros combinados.
- Avaliar quantidades de produção, entregas ou estoque.
- Agregar dados de pedidos e vendas para identificar tendências ou realizar análises de marketing.

Dica Armazenamento de dados seguro, desempenho escalável e planos de servidor e hospedagem adaptados às suas necessidades: Conheça o [SQL Server Hosting](https://www.ionos.com/cloud/sql-server-hosting "SQL Server Hosting — IONOS") da IONOS. Escolha entre servidores em nuvem, VPS, servidores dedicados e hospedagem Linux, com toda segurança de dados.

## Exemplos de aplicação de SQL `UNION`

Nossos exemplos práticos ilustram de maneira simples como combinar registros de forma eficiente com SQL `UNION`.

### Combinar dois conjuntos de dados em uma tabela

Suponha que você deseja combinar os registros das tabelas “Assinantes” e “Clientes” em uma tabela de resultados sem duplicatas, usando colunas como “Nome”, “Endereço” e “ID do Cliente”. Faça isso da seguinte maneira:

```sql
SELECT  Nome, Endereço, ID_Cliente
FROM  Assinantes
UNION
SELECT  Nome, Endereço, ID_Cliente
FROM  Clientes
```

### Combinar dados de funcionários de diferentes departamentos

Se você deseja combinar dados de funcionários dos departamentos de “Marketing” e “Vendas” usando colunas como “Nome” e “Cidade”, faça o seguinte:

```sql
SELECT  Nome, Cidade
FROM  Marketing
UNION
SELECT  Nome, Cidade
FROM  Vendas
```

### Combinar dois conjuntos de dados com `UNION ALL`

Neste exemplo, ilustramos como funciona o `UNION ALL` que, ao contrário do comando UNION, gera uma tabela de resultados com todos os registros, incluindo duplicatas. Vamos supor uma tabela “Clientes” e uma tabela “Fornecedores”, que você deseja combinar com a condição de que os clientes e fornecedores sejam de “Londrina”. Proceda da seguinte maneira:

```sql
SELECT  Nome, Cidade
FROM  Clientes
WHERE  Cidade  =  'Londrina'
UNION ALL
SELECT  Nome, Cidade
FROM  Fornecedores
WHERE  Cidade  =  'Londrina'
GROUP BY  Cidade;
```

## Alternativas a SQL `UNION`

Para combinar dados sem duplicatas, além do `UNION`, existem outras opções que podem ser utilizadas. Aqui estão as mais importantes:

- `JOIN`: Com o comando [SQL `JOIN`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-join/), você pode combinar, consultar e vincular dados entre tabelas. Existem comandos como `INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `FULL JOIN` e `CROSS JOIN`. Com instruções `JOIN`, você pode combinar registros de duas tabelas de maneira mais direcionada e flexível do que com `UNION`, uma vez que pode definir condições usando a cláusula `ON`.
- `GROUP BY`: Com [SQL `GROUP BY`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-having/), você agrupa registros selecionados de colunas e tabelas com valores idênticos em uma tabela de resultados.
- `ORDER BY`: Com o comando [SQL `ORDER BY`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-order-by/), você define a ordem dos registros em uma tabela de resultados.
- `SELECT DISTINCT`: Com o comando [SQL `SELECT DISTINCT`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select-distinct/), você pode gerar uma tabela de resultados com apenas resultados de consulta exclusivos, sem duplicatas, de maneira semelhante ao `UNION`.
- `UNION ALL`: O comando `UNION ALL` funciona de forma semelhante ao `UNION`, mas combina todos os registros da tabela selecionada, incluindo possíveis duplicatas.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-union/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-union/) for AI/LLM consumption.