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:

PostgreSQL Liit

Hind:

PostgreSQL Liit

Käivitame järgmise käsu:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

Käsk tagastab järgmise:

PostgreSQL Liit

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:

PostgreSQL Liit Kõik

Hind:

PostgreSQL Liit Kõik

Käivitage järgmine käsk:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

See peaks tagastama järgmise:

PostgreSQL Liit Kõik

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:

TELLI

Hind2:

TELLI

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:

TELLI

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:

TELLI

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

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Kasutama PostgreSQL Liit, kasutades pgAdminit

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.

Kasutama PostgreSQL Liit, kasutades pgAdminit

See peaks tagastama järgmise:

Kasutama PostgreSQL Liit, kasutades pgAdminit

Liit Kõik

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
  2. Klõpsake Demo.

Kasutama PostgreSQL Liit kõik, kasutades pgAdminit

Step 3) Sisestage päring päringuredaktorisse:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Step 4) Klõpsake nuppu Käivita.

Kasutama PostgreSQL Liit kõik, kasutades pgAdminit

See peaks tagastama järgmise:

Kasutama PostgreSQL Liit kõik, kasutades pgAdminit

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:

Kasutama PostgreSQL TELLI PgAdmini abil

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.

Laadige alla selles õpetuses kasutatud andmebaas

Võta see postitus kokku järgmiselt: