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:

PostgreSQL União

Preço:

PostgreSQL União

Vamos executar o seguinte comando:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

O comando retornará o seguinte:

PostgreSQL União

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:

PostgreSQL União tudo

Preço:

PostgreSQL União tudo

Execute o seguinte comando:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Deve retornar o seguinte:

PostgreSQL União tudo

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:

ORDENAR POR

Preço2:

ORDENAR POR

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:

ORDENAR POR

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:

ORDENAR POR

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

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Uso PostgreSQL União usando pgAdmin

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.

Uso PostgreSQL União usando pgAdmin

Deve retornar o seguinte:

Uso PostgreSQL União usando pgAdmin

União tudo

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Uso PostgreSQL Unir tudo usando pgAdmin

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.

Uso PostgreSQL Unir tudo usando pgAdmin

Deve retornar o seguinte:

Uso PostgreSQL Unir tudo usando pgAdmin

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:

Uso PostgreSQL ORDENAR POR usando pgAdmin

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.

Baixe o banco de dados usado neste tutorial

Resuma esta postagem com: