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:
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.
Napomena: oba izraza 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 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
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- Pritisnite Demo.
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.
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.
- Pritisnite 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.
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