PostgreSQL Liit, liit KÕIK näidetega
Mis on PostgreSQL Liit?
. PostgreSQL Operaatorit UNION kasutatakse rohkem kui ühest SELECT-lausest pärinevate tulemuskomplektide kombineerimiseks üheks tulemusekomplektiks. Kõik topeltread SELECT-lausete tulemustest elimineeritakse. UNION operaator töötab kahel tingimusel:
- SELECT päringud PEAVAD tagastama sarnase arvu päringuid.
- Kõigi vastavate veergude andmetüübid peavad ühilduma.
Operaatorit UNION kasutatakse tavaliselt seotud tabelite andmete ühendamiseks, mis pole ideaalselt normaliseeritud.
Süntaks
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)];
Siin on ülaltoodud parameetrite selgitus:
Avaldis_1, avaldis_2, … avaldis_n on arvutused või veerud, mida peate hankima.
Tabelid on tabelid, millest peate kirjeid hankima.
Tingimus(ed) WHERE on tingimused, mis peavad olema kirjete toomiseks täidetud.
Märkus: kuna UNION operaator ei tagasta duplikaate, ei mõjuta UNION DISTINCT kasutamine tulemusi.
PostgreSQL Liit
UNION operaator eemaldab duplikaadid. Näitame seda.
Meil on andmebaas nimega Demo järgmiste tabelitega:
Raamat:
Hind:
Käivitame järgmise käsu:
SELECT id FROM Book UNION SELECT id FROM Price;
Käsk tagastab järgmise:
Id veerg kuvatakse nii raamatu kui ka hinna tabelites. Tulemuses ilmub see aga ainult üks kord. Põhjus on selles PostgreSQL UNION operaator ei tagasta duplikaate.
PostgreSQL Liit Kõik
See operaator kombineerib enam kui ühest SELECT-lausest pärinevad tulemuskomplektid duplikaate eemaldamata. Operaator nõuab, et igas SELECT-lauses oleks sarnaste andmetüüpide tulemuskomplektides sarnane arv välju.
süntaksit:
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)];
Siin on ülaltoodud parameetrite selgitus:
Avaldis_1, avaldis_2, … avaldis_n on arvutused või veerud, mida peate hankima.
Tabelid on tabelid, millest peate kirjeid hankima.
Tingimus(ed) WHERE on tingimused, mis peavad olema kirjete toomiseks täidetud.
Märkus. Mõlemal avaldisel peab olema võrdne arv avaldisi.
Kasutame järgmisi tabeleid:
Raamat:
Hind:
Käivitage järgmine käsk:
SELECT id FROM Book UNION ALL SELECT id FROM price;
See peaks tagastama järgmise:
Duplikaate pole eemaldatud.
TELLI
. PostgreSQL UNION operaatorit saab päringu tulemuste järjestamiseks kasutada koos klausliga ORDER BY. Selle demonstreerimiseks kasutame järgmisi tabeleid:
Hind:
Hind2:
Siin on käsk, mis näitab, kuidas kasutada operaatorit UNION koos klausliga ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Käsk tagastab järgmise:
Plaadid olid järjestatud hinna veeru järgi. Klausel järjestab kirjed vaikimisi kasvavas järjekorras. Nende järjestamiseks kahanevas järjekorras lisage DESC klausel, nagu allpool näidatud:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Käsk tagastab järgmise:
Kirjed on järjestatud hinnaveeru alusel kahanevas järjekorras.
Millal Unioni ja millal Unioni kasutada?
Kasutage operaatorit UNION, kui teil on mitu sarnase struktuuriga tabelit, kuid need on mingil põhjusel jagatud. See on hea, kui teil on vaja dubleerivaid kirjeid eemaldada/kõrvaldada.
Kasutage operaatorit UNION ALL, kui te ei pea dubleerivaid kirjeid eemaldama/kõrvaldama.
pgAdmini kasutamine
Nüüd vaatame, kuidas kõik kolm toimingut pgAdmini abil sooritati.
Kuidas kasutada PostgreSQL Liit, kasutades pgAdminit
Järgnev on samm-sammult kasutamise protsess PostgreSQL Liit, kasutades pgAdminit
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logi sisse
Logige sisse oma pgAdmini kontole.
Step 2) Klõpsake valikul Andmebaasid
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring
Sisestage päring päringuredaktorisse:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Step 4) Klõpsake nuppu Käivita.
Järgmisena klõpsake nuppu Käivita. Nagu alloleval pildil näidatud.
See peaks tagastama järgmise:
Liit Kõik
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
TELLI
Operaatori UNION ALL saab kombineerida ORDER BY klausliga, et järjestada tulemusi tulemuste komplektis. Näiteks:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Käsk tagastab järgmise:
Tulemused on tellitud.
kokkuvõte
- . PostgreSQL UNION operaator ühendab rohkem kui ühe tulemused SELECT avaldus ühte tulemuste komplekti.
- UNION operaator ei tagasta topeltkirjeid.
- Tulemuste tellimiseks kombineeri see klausliga ORDER BY.
- Operaator UNION ALL ühendab rohkem kui ühe SELECT-lause tulemused üheks tulemuskomplektiks.
- Operaator UNION ALL ei eemalda duplikaate.

















