PostgreSQL Unija, Unija SVE s primjerima

Što je PostgreSQL Unija?

The PostgreSQL Operator UNION koristi se za kombiniranje skupova rezultata iz više od jedne naredbe SELECT u jedan skup rezultata. Svi duplicirani retci iz rezultata SELECT izjava su eliminirani. Operator UNION radi pod dva uvjeta:

  • SELECT upiti MORAJU vratiti sličan broj upita.
  • Tipovi podataka svih odgovarajućih stupaca moraju biti kompatibilni.

Operator UNION obično se koristi za kombiniranje podataka iz povezanih tablica koje nisu savršeno normalizirane.

Sintaksa

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

Evo objašnjenja za gore navedene parametre:

Izraz_1, izraz_2, … izraz_n su izračuni ili stupci koje trebate dohvatiti.

Tablice su tablice iz kojih trebate dohvatiti zapise.

WHERE uvjet(i) su uvjeti koji moraju biti ispunjeni da bi se zapisi mogli dohvatiti.

Napomena: budući da operator UNION ne vraća duplikate, upotreba UNION DISTINCT neće imati utjecaja na rezultate.

PostgreSQL Unija

Operator UNION uklanja duplikate. Pokažimo ovo.

Imamo bazu podataka pod nazivom Demo sa sljedećim tablicama:

Rezervirati:

PostgreSQL Unija

Cijena:

PostgreSQL Unija

Pokrenimo sljedeću naredbu:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

Naredba će vratiti sljedeće:

PostgreSQL Unija

Stupac ID pojavljuje se u tablicama Knjiga i Cijena. Međutim, pojavljuje se samo jednom u rezultatu. Razlog je taj PostgreSQL Operator UNION ne vraća duplikate.

PostgreSQL Unija sv

Ovaj operator kombinira skupove rezultata iz više od jedne naredbe SELECT bez uklanjanja duplikata. Operator zahtijeva da svaka izjava SELECT ima sličan broj polja u skupovima rezultata sličnih tipova podataka.

Sintaksa:

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

Evo objašnjenja za gore navedene parametre:

Izraz_1, izraz_2, … izraz_n su izračuni ili stupci koje trebate dohvatiti.

Tablice su tablice iz kojih trebate dohvatiti zapise.

WHERE uvjet(i) su uvjeti koji moraju biti ispunjeni da bi se zapisi mogli dohvatiti.

Napomena: oba izraza moraju imati jednak broj izraza.

Koristit ćemo sljedeće tablice:

Rezervirati:

PostgreSQL Unija sv

Cijena:

PostgreSQL Unija sv

Pokrenite sljedeću naredbu:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Trebao bi vratiti sljedeće:

PostgreSQL Unija sv

Duplikati nisu uklonjeni.

NARUČITE PO

The PostgreSQL Operator UNION može se koristiti zajedno s klauzulom ORDER BY za poredak rezultata upita. Da bismo to demonstrirali, koristit ćemo se sljedećim tablicama:

Cijena:

NARUČITE PO

Cijena2:

NARUČITE PO

Evo naredbe koja pokazuje kako koristiti operator UNION zajedno s klauzulom ORDER BY:

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

Naredba će vratiti sljedeće:

NARUČITE PO

Zapisi su poredani prema stupcu cijena. Klauzula prema zadanim postavkama raspoređuje zapise uzlaznim redoslijedom. Da biste ih poredali silaznim redoslijedom, dodajte klauzulu DESC kao što je prikazano u nastavku:

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

Naredba će vratiti sljedeće:

NARUČITE PO

Zapisi su poredani na temelju stupca cijena silaznim redoslijedom.

Kada koristiti Union i kada koristiti Union all?

Koristite operator UNION kada imate više tablica slične strukture, ali su podijeljene s razlogom. Dobar je kada trebate ukloniti/eliminirati duple zapise.

Upotrijebite operator UNION ALL kada ne trebate ukloniti/eliminirati duple zapise.

Koristeći pgAdmin

Sada da vidimo kako su sve tri radnje izvedene pomoću pgAdmin-a.

Kako koristiti PostgreSQL Unija pomoću pgAdmin-a

Slijedi korak po korak postupak korištenja PostgreSQL Unija pomoću pgAdmin-a

Da biste postigli isto putem pgAdmina, učinite ovo:

Korak 1) Login
Prijavite se na svoj pgAdmin račun.

Korak 2) Kliknite na Baze podataka

  1. Na navigacijskoj traci s lijeve strane kliknite Databases.
  2. Pritisnite Demo.

Koristiti PostgreSQL Unija pomoću pgAdmin-a

Korak 3) Upišite upit
Unesite upit u uređivač upita:

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

Korak 4) Pritisnite gumb Izvrši.
Zatim kliknite gumb Izvrši. Kao što je prikazano na slici ispod.

Koristiti PostgreSQL Unija pomoću pgAdmin-a

Trebao bi vratiti sljedeće:

Koristiti PostgreSQL Unija pomoću pgAdmin-a

Unija sv

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. Pritisnite Demo.

Koristiti PostgreSQL Ujedini sve koristeći pgAdmin

Korak 3) Unesite upit u uređivač upita:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Korak 4) Pritisnite gumb Izvrši.

Koristiti PostgreSQL Ujedini sve koristeći pgAdmin

Trebao bi vratiti sljedeće:

Koristiti PostgreSQL Ujedini sve koristeći pgAdmin

NARUČITE PO

Operator UNION ALL može se kombinirati s klauzulom ORDER BY za poredak rezultata u skupu rezultata. Na primjer:

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

Naredba će vratiti sljedeće:

Koristiti PostgreSQL NARUDŽAJ Upotrebom pgAdmin-a

Rezultati su naručeni.

rezime

  • The PostgreSQL Operator UNION kombinira rezultate iz više od jednog SELECT izraz u jedan skup rezultata.
  • Operator UNION ne vraća dvostruke zapise.
  • Za poredak rezultata, kombinirajte ga s klauzulom ORDER BY.
  • Operator UNION ALL kombinira rezultate iz više od jedne naredbe SELECT u jedan skup rezultata.
  • Operator UNION ALL ne uklanja duplikate.

Preuzmite bazu podataka korištenu u ovom vodiču