PostgreSQL Unire, Unire TOATE cu Exemple

Ce Este PostgreSQL Uniune?

PostgreSQL Operatorul UNION este folosit pentru a combina seturi de rezultate din mai multe instrucțiuni SELECT într-un singur set de rezultate. Orice rânduri duplicate din rezultatele instrucțiunilor SELECT sunt eliminate. Operatorul UNION lucrează în două condiții:

  • Interogările SELECT TREBUIE să returneze un număr similar de interogări.
  • Tipurile de date ale tuturor coloanelor corespunzătoare trebuie să fie compatibile.

Operatorul UNION este utilizat în mod normal pentru a combina date din tabele înrudite care nu au fost normalizate perfect.

Sintaxă

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)];

Iată o explicație pentru parametrii de mai sus:

Expresia_1, expresia_2, … expresia_n sunt calculele sau coloanele pe care trebuie să le regăsiți.

Tabelele sunt tabelele din care trebuie să recuperați înregistrările.

Condiția(ele) WHERE sunt condițiile care trebuie îndeplinite pentru ca înregistrările să fie recuperate.

Notă: deoarece operatorul UNION nu returnează duplicate, utilizarea UNION DISTINCT nu va avea niciun impact asupra rezultatelor.

PostgreSQL Uniune

Operatorul UNION elimină duplicatele. Să demonstrăm asta.

Avem o bază de date numită Demo cu următoarele tabele:

Carte:

PostgreSQL Uniune

Preț:

PostgreSQL Uniune

Să rulăm următoarea comandă:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

Comanda va returna următoarele:

PostgreSQL Uniune

Coloana ID apare atât în ​​carte, cât și în tabelul de prețuri. Cu toate acestea, apare o singură dată în rezultat. Motivul este că PostgreSQL Operatorul UNION nu returnează duplicate.

PostgreSQL Unirea Toate

Acest operator combină seturi de rezultate din mai multe instrucțiuni SELECT fără a elimina duplicatele. Operatorul solicită ca fiecare instrucțiune SELECT să aibă un număr similar de câmpuri în seturi de rezultate de tipuri de date similare.

Sintaxă:

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)];

Iată o explicație pentru parametrii de mai sus:

Expresia_1, expresia_2, … expresia_n sunt calculele sau coloanele pe care trebuie să le regăsiți.

Tabelele sunt tabelele din care trebuie să recuperați înregistrările.

Condiția(ele) WHERE sunt condițiile care trebuie îndeplinite pentru ca înregistrările să fie recuperate.

Notă: ambele expresii trebuie să aibă un număr egal de expresii.

Vom folosi următoarele tabele:

Carte:

PostgreSQL Unirea Toate

Preț:

PostgreSQL Unirea Toate

Rulați următoarea comandă:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Ar trebui să returneze următoarele:

PostgreSQL Unirea Toate

Dublatele nu au fost eliminate.

COMANDA DE

PostgreSQL Operatorul UNION poate fi folosit împreună cu clauza ORDER BY pentru a ordona rezultatele interogării. Pentru a demonstra acest lucru, vom folosi următoarele tabele:

Preț:

COMANDA DE

Preț 2:

COMANDA DE

Iată comanda care demonstrează cum se utilizează operatorul UNION împreună cu clauza ORDER BY:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price;

Comanda va returna următoarele:

COMANDA DE

Înregistrările au fost ordonate după coloana preț. Clauza ordonează în mod implicit înregistrările în ordine crescătoare. Pentru a le ordona în ordine descrescătoare, adăugați clauza DESC așa cum se arată mai jos:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

Comanda va returna următoarele:

COMANDA DE

Înregistrările au fost ordonate pe baza coloanei de preț în ordine descrescătoare.

Când să folosiți Union și când să folosiți Union all?

Utilizați operatorul UNION atunci când aveți mai multe tabele cu o structură similară, dar împărțite dintr-un motiv. Este bine atunci când trebuie să eliminați/eliminați înregistrările duplicate.

Utilizați operatorul UNION ALL când nu aveți nevoie să eliminați/eliminați înregistrările duplicate.

Folosind pgAdmin

Acum să vedem cum au fost efectuate toate cele trei acțiuni folosind pgAdmin.

Instrucțiuni de utilizare PostgreSQL Unirea folosind pgAdmin

Mai jos este un proces pas cu pas despre cum se utilizează PostgreSQL Unirea folosind pgAdmin

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Login
Conectați-vă la contul dvs. pgAdmin.

Pas 2) Faceți clic pe Baze de date

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Utilizare PostgreSQL Unirea folosind pgAdmin

Pas 3) Introduceți interogarea
Introduceți interogarea în editorul de interogări:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

Pas 4) Faceți clic pe butonul Execute.
Apoi, faceți clic pe butonul Execute. După cum se arată în imaginea de mai jos.

Utilizare PostgreSQL Unirea folosind pgAdmin

Ar trebui să returneze următoarele:

Utilizare PostgreSQL Unirea folosind pgAdmin

Unirea Toate

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Utilizare PostgreSQL Unirea tuturor utilizând pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Pas 4) Faceți clic pe butonul Execute.

Utilizare PostgreSQL Unirea tuturor utilizând pgAdmin

Ar trebui să returneze următoarele:

Utilizare PostgreSQL Unirea tuturor utilizând pgAdmin

COMANDA DE

Operatorul UNION ALL poate fi combinat cu clauza ORDER BY pentru a ordona rezultatele în setul de rezultate. De exemplu:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price
ORDER BY id;

Comanda va returna următoarele:

Utilizare PostgreSQL COMANDA PRIN Folosind pgAdmin

Rezultatele au fost ordonate.

Rezumat

  • PostgreSQL Operatorul UNION combină rezultatele de la mai mult de unul instrucțiunea SELECT într-un singur set de rezultate.
  • Operatorul UNION nu returnează înregistrări duplicat.
  • Pentru a ordona rezultatele, combinați-l cu clauza ORDER BY.
  • Operatorul UNION ALL combină rezultatele din mai multe instrucțiuni SELECT într-un singur set de rezultate.
  • Operatorul UNION ALL nu elimină duplicatele.

Descărcați baza de date folosită în acest tutorial