PostgreSQL União, União TODOS com Exemplos
O que é a PostgreSQL União?
O processo de PostgreSQL O operador UNION é usado para combinar conjuntos de resultados de mais de uma instrução SELECT em um conjunto de resultados. Quaisquer linhas duplicadas dos resultados das instruções SELECT são eliminadas. O operador UNION funciona sob duas condições:
- As consultas SELECT DEVEM retornar um número semelhante de consultas.
- Os tipos de dados de todas as colunas correspondentes devem ser compatíveis.
O operador UNION normalmente é usado para combinar dados de tabelas relacionadas que não foram perfeitamente normalizadas.
Sintaxe
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Aqui está uma explicação para os parâmetros acima:
A expressão_1, expressão_2,… expressão_n são os cálculos ou colunas que você precisa recuperar.
As tabelas são as tabelas das quais você precisa recuperar registros.
As condições WHERE são as condições que devem ser atendidas para que os registros sejam recuperados.
Nota: como o operador UNION não retorna duplicatas, o uso de UNION DISTINCT não terá impacto nos resultados.
PostgreSQL União
O operador UNION remove duplicatas. Deixe-nos demonstrar isso.
Temos um banco de dados chamado Demo com as seguintes tabelas:
Livro:
Preço:
Vamos executar o seguinte comando:
SELECT id FROM Book UNION SELECT id FROM Price;
O comando retornará o seguinte:
A coluna id aparece nas tabelas Livro e Preço. No entanto, aparece apenas uma vez no resultado. A razão é que PostgreSQL O operador UNION não retorna duplicatas.
PostgreSQL União tudo
Este operador combina conjuntos de resultados de mais de uma instrução SELECT sem remover duplicatas. O operador exige que cada instrução SELECT tenha um número semelhante de campos em conjuntos de resultados de tipos de dados semelhantes.
Sintaxe:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Aqui está uma explicação para os parâmetros acima:
A expressão_1, expressão_2,… expressão_n são os cálculos ou colunas que você precisa recuperar.
As tabelas são as tabelas das quais você precisa recuperar registros.
As condições WHERE são as condições que devem ser atendidas para que os registros sejam recuperados.
Nota: Ambas as expressões devem ter um número igual de expressões.
Usaremos as seguintes tabelas:
Livro:
Preço:
Execute o seguinte comando:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Deve retornar o seguinte:
As duplicatas não foram removidas.
ORDENAR POR
O processo de PostgreSQL O operador UNION pode ser usado junto com a cláusula ORDER BY para ordenar os resultados da consulta. Para demonstrar isso, usaremos as seguintes tabelas:
Preço:
Preço2:
Aqui está o comando que demonstra como usar o operador UNION junto com a cláusula ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
O comando retornará o seguinte:
Os registros foram ordenados pela coluna de preço. A cláusula ordena os registros em ordem crescente por padrão. Para ordená-los em ordem decrescente, adicione a cláusula DESC conforme mostrado abaixo:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
O comando retornará o seguinte:
Os registros foram ordenados com base na coluna de preço em ordem decrescente.
Quando usar o Union e quando usar o Union todos?
Use o operador UNION quando você tiver várias tabelas com uma estrutura semelhante, mas divididas por um motivo. É bom quando você precisa remover/eliminar registros duplicados.
Use o operador UNION ALL quando não precisar remover/eliminar registros duplicados.
Usando pgAdmin
Agora vamos ver como todas as três ações foram executadas usando o pgAdmin.
Como usar PostgreSQL União usando pgAdmin
A seguir está o processo passo a passo sobre como usar PostgreSQL União usando pgAdmin
Para fazer o mesmo por meio do pgAdmin, faça o seguinte:
Passo 1) Entrar
Faça login em sua conta pgAdmin.
Passo 2) Clique em Bancos de Dados
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta
Digite a consulta no editor de consultas:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Passo 4) Clique no botão Executar.
Em seguida, clique no botão Executar. Como mostra a imagem abaixo.
Deve retornar o seguinte:
União tudo
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
ORDENAR POR
O operador UNION ALL pode ser combinado com a cláusula ORDER BY para ordenar os resultados no conjunto de resultados. Por exemplo:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
O comando retornará o seguinte:
Os resultados foram ordenados.
Resumo
- O processo de PostgreSQL O operador UNION combina resultados de mais de um Instrução SELECT em um conjunto de resultados.
- O operador UNION não retorna registros duplicados.
- Para ordenar os resultados, combine-o com a cláusula ORDER BY.
- O operador UNION ALL combina resultados de mais de uma instrução SELECT em um conjunto de resultados.
- O operador UNION ALL não remove duplicatas.

















