PostgreSQL Unija, Unija SVE s primjerima
⚡ Pametni sažetak
PostgreSQL UNION kombinira rezultate dvije ili više SELECT naredbi u jedan skup rezultata i uklanja duplikate, dok UNION ALL zadržava svaki redak, što daje bržu opciju kada duplikati nisu važni.
Š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 isti broj stupaca.
- 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.
Bilješka: Budući da operator UNION ne vraća duplikate, korištenje operatora UNION DISTINCT neće imati utjecaja na rezultate.
PostgreSQL Unija
Operator UNION uklanja duplikate na isti način kao ODABIR DISTINCT radi. Demonstrirajmo to. Imamo bazu podataka pod nazivom Demo sa sljedećim tablicama:
Rezervirati:
Cijena:
Pokrenimo sljedeću naredbu:
SELECT id FROM Book UNION SELECT id FROM Price;
Naredba će vratiti sljedeće:
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.
Bilješka: Obje SELECT naredbe moraju imati jednak broj izraza.
Koristit ćemo sljedeće tablice:
Rezervirati:
Cijena:
Pokrenite sljedeću naredbu:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Trebao bi vratiti sljedeće:
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:
Cijena2:
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:
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:
Zapisi su poredani na temelju stupca cijena silaznim redoslijedom.
Kada koristiti Union, a kada Union All?
Koristite operator UNION kada imate više tablica sa sličnom strukturom, ali podijeljenih s razlogom. Dobar je kada trebate ukloniti ili eliminirati duplicirane zapise.
Koristite operator UNION ALL kada ne trebate ukloniti ili eliminirati duplicirane zapise.
Koristeći pgAdmin
Sada pogledajmo kako se sve tri radnje izvode pomoću pgAdmin-a.
Kako koristiti PostgreSQL Unija pomoću pgAdmin-a
Slijedi korak-po-korak postupak o tome kako ga koristiti PostgreSQL UNION putem pgAdmin-a:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2) Na navigacijskoj traci s lijeve strane kliknite Baze podataka, a zatim kliknite Demo.
Korak 3) Unesite upit u uređivač upita:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Korak 4) Pritisnite gumb Izvrši.
Trebao bi vratiti sljedeće:
Unija sv
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2) Na navigacijskoj traci s lijeve strane kliknite Baze podataka, a zatim kliknite Demo.
Korak 3) Unesite upit u uređivač upita:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Korak 4) Pritisnite gumb Izvrši.
Trebao bi vratiti sljedeće:
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:
Rezultati su naručeni.
Preuzmite bazu podataka korištenu u ovom vodiču


















