PostgreSQL União, União TODOS com Exemplos
⚡ Resumo Inteligente
PostgreSQL A instrução UNION combina os resultados de duas ou mais instruções SELECT em um único conjunto de resultados e remove linhas duplicadas, enquanto a instrução UNION ALL mantém todas as linhas, oferecendo uma opção mais rápida quando as duplicatas não são relevantes.
O que é a PostgreSQL União?
O 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 o mesmo número de colunas.
- 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.
Observação: Como o operador UNION não retorna duplicados, o uso de UNION DISTINCT não terá impacto nos resultados.
PostgreSQL União
O operador UNION remove duplicados, da mesma forma que SELECT DISTINCT Sim. Vamos 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 duplicados.
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.
Observação: Ambas as instruções SELECT devem ter o mesmo número 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 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 Union e quando usar Union All?
Use o operador UNION quando você tiver várias tabelas com estrutura semelhante, mas separadas por algum motivo. Ele é útil quando você precisa remover ou eliminar registros duplicados.
Utilize o operador UNION ALL quando não precisar remover ou eliminar registros duplicados.
Usando pgAdmin
Agora vejamos como as três ações são realizadas usando o pgAdmin.
Como usar PostgreSQL União usando pgAdmin
A seguir, apresentamos um processo passo a passo sobre como usar PostgreSQL UNION através do pgAdmin:
Passo 1) Faça login em sua conta pgAdmin.
Passo 2) Na barra de navegação à esquerda, clique em Bancos de Dados e, em seguida, em Demonstração.
Passo 3) 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.
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 e, em seguida, 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.
Baixe o banco de dados usado neste tutorial


















