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:
Preț:
Să rulăm următoarea comandă:
SELECT id FROM Book UNION SELECT id FROM Price;
Comanda va returna următoarele:
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:
Preț:
Rulați următoarea comandă:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Ar trebui să returneze următoarele:
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ț:
Preț 2:
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:
Î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:
Î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
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
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.
Ar trebui să returneze următoarele:
Unirea Toate
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
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.
Ar trebui să returneze următoarele:
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:
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