Neste tutorial, aprenderemos como usar a cláusula SQL UNION para combinar o resultado de duas ou mais instruções SELECT em um único conjunto de resultados.
A ilustração a seguir mostra a visão geral de uma consulta SQL UNION:
Sintaxe SQL UNION
Veja a seguir a sintaxe para combinar duas instruções select usando uma cláusula UNION:
SELECIONE
col_1,
col_2,
...col_N
A PARTIR DE
tbl_1
UNIÃO
SELECIONE
col_1,
col_2,
...col_N
A PARTIR DE
tbl_2;
Antes de realizar uma consulta união, os seguintes requisitos devem ser atendidos:
- O número de colunas em cada instrução select deve ser idêntico.
- A coluna na mesma posição em cada instrução select deve ser de tipo de dados semelhante.
- A ordem das colunas deve estar correta em todas as instruções select.
Vamos ilustrar como podemos usar uma consulta UNION com uma tabela real.
Tabela 1:
O seguinte mostra as colunas e dados na primeira tabela:
id|server_name |endereço |installed_version|
---+-------------+--------------+-----------------+
1|SQL Server |localhost:1433|15.0 |
2|Elasticsearch|localhost:9200|8.4.3 |
3|Redis |localhost:6379|6.0 |
4|PostgreSQL |localhost:5432|14.5 |
Mesa 2:
A estrutura e os registros da segunda tabela são mostrados a seguir:
id|ferramenta |versão|licenciada |---+---------------------------+-------+---------- +
1|SQL Server Management Studio|18.0 |comercial|
2|Kibana |7.17.7 |grátis |
3|DBeaver |22.2 |Enterprise|
4|DataGrip |2022.2 |Comercial|
Tabelas SQL UNION
Podemos realizar uma operação UNION nos valores de ambas as tabelas conforme a consulta a seguir:
SELECIONENOME DO SERVIDOR,
INSTALLED_VERSION
A PARTIR DE
STACK_MAPPING
UNIÃO
SELECIONE
FERRAMENTA,
VERSÃO
A PARTIR DE
CONECTOR;
Isso deve combinar as consultas e retornar uma tabela da seguinte forma:
server_name |installed_version|-----------------------------+-----------------+
SQL Server |15.0 |
Elasticsearch |8.4.3 |
Redis |6.0 |
PostgreSQL |14.5 |
SQL Server Management Studio|18.0 |
Kibana |7.17.7 |
DBeaver |22.2 |
DataGrip |2022.2 |
Conclusão
Este artigo fornece os fundamentos do trabalho com a cláusula UNION no SQL para combinar os resultados de duas ou mais instruções SELECT. Sinta-se livre para verificar os outros tutoriais para saber mais.