PostgreSQL Liitumistüübid: sisemine, välimine, vasak, parem
⚡ Nutikas kokkuvõte
PostgreSQL Ühendused hangivad ja ühendavad ridu kahest või enamast tabelist jagatud võtme abil ning hõlmavad sisemisi ühendusi, nagu teeta, EQUI ja naturaalne, ning väliseid ühendusi, mis hõlmavad vasakpoolseid, paremaid ja täielikke tulemusi.

Mis on liitumised PostgreSQL?
PostgreSQL Liita kasutatakse andmete hankimiseks mitmest tabelist. Ühenduste abil on võimalik ühendada SELECT- ja JOIN-laused üheks lauseks. Lausele lisatakse JOIN-tingimus ja kõik read, mis tingimustele vastavad, tagastatakse. Erinevate tabelite väärtused ühendatakse ühiste veergude alusel. Ühine veerg on enamasti esimese tabeli primaarvõti ja teise tabeli võõrvõti.
PostgreSQL Liitumise tüübid
On kahte tüüpi liitumisi PostgreSQL:
- Sisemised ühendused
- Välimised ühendused
PostgreSQL Sisemine liitumine
Siseühendusi on 3 tüüpi PostgreSQL:
- Teeta liituda
- Loomulik liitumine
- EQUI liitumine
Teeta Liitu
Teeta liitmine võimaldab ühendada kaks tabelit tingimusel, mida teeta esindab. Teeta ühendused võivad töötada kõigi võrdlusoperaatoritega. Enamikul juhtudel nimetatakse teeta-ühendust sisemiseks ühenduseks.
Teeta liitumine on JOIN-i kõige elementaarsem tüüp. See tagastab kõik read tabelitest, kus JOIN tingimus on täidetud.
süntaksit:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Vaadake demo andmebaasi järgmisi tabeleid:
Raamat:
Hind:
Soovime näha iga raamatu nime ja vastavat Hinda. Saame käivitada järgmise käsu:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
See tagastab järgmise:
Ainult 3 rida rahuldas liitmise tingimust.
EQUI Liitu
EQUI liit annab meile võimaluse ühendada kaks tabelit primaarvõtme/võõrvõtme suhte alusel. Näiteks:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
See tagastab järgmise:
Mõlemast tabelist on kirjed tagastatud ühiste veergude ehk id veeru alusel.
Loomulik liitumine
Seda tüüpi liitumine annab meile veel ühe viisi EQUI liitumise kirjutamiseks. Saame oma eelmist näidet täiustada, lisades märksõna LOODUSLIK, nagu allpool näidatud:
SELECT * FROM Book NATURAL JOIN Price;
See tagastab järgmise:
Tagastati ainult üks ID-veerg. NATURAL JOIN märkas, et id veerg on kahes tabelis tavaline. Tagastati ainult üks.
PostgreSQL Väline liitumine
Välisühendusi on 3 tüüpi PostgreSQL:
- Vasakpoolne välimine liitekoht
- Parempoolne ühendus
- Täielik väline liitumine
PostgreSQL Vasakpoolne välimine liitekoht
LEFT OUTTER JOIN tagastab kõik tabeli vasakpoolsed read ja ainult need read parempoolses külgtabelis, kus liitumise tingimus on täidetud.
süntaksit:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Peame nägema iga raamatu nime ja vastavat hinda. Saame käivitada järgmise käsu:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
See tagastab järgmise:
Kõik 4 raamatu tabeli rida on tagastatud. Ainult 3 rida tabelist Hind vastas liitumise tingimusele. Seetõttu nad tagastati. Viimasel raamatul puudub vastav hinnaväärtus.
PostgreSQL Parempoolne ühendus
RIGHT OUTTER JOIN tagastab kõik tabeli parempoolsed read ja vasakpoolses tabelis olevad read, kus liitumise tingimus on täidetud.
süntaksit:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Näiteks:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
See tagastab järgmise:
Kõik Price tabeli read on tagastatud. Book tabelist tagastati ainult need read, mis vastasid liitmistingimusele. 3. real pole name jaoks väärtust, kuna vastet ei leitud.
Täielik välimine liitumine PostgreSQL
Seda tüüpi JOIN tagastab kõik tabeli vasakpoolsed read ja kõik tabeli paremas servas olevad read nullidega, kui liitumise tingimus ei ole täidetud.
süntaksit:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Näiteks:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
See tagastab järgmise:
Kõikide tabelite kõik read on tagastatud nullidega, kus vastet ei leitud.
pgAdmini kasutamine
Ülaltoodud ülesandeid saab pgAdminis täita järgmiselt. Järgmistes osades käsitletakse iga liitmistüüpi samm-sammult.
pgAdmini sisemine liitumine
Allolevad sammud näitavad, kuidas pgAdminis iga sisemise liitumise varianti käivitada.
Kuidas Thetat kasutada Liituge PostgreSQL kasutades pgAdminit
Allpool on toodud sammud Theta Join'i kasutamiseks. PostgreSQL pgAdmini abil:
Samm 1) Logige sisse oma pgAdmini kontole
Avage pgAdmin ja logige oma mandaatide abil sisse
Samm 2) Loo demo andmebaas
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Samm 3) Sisestage päring
Tippige päringuredaktorisse allolev päring:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Samm 4) Käivitage päring
Klõpsake nuppu Käivita
See peaks tagastama järgmise:
EQUI Liitu
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
Loomulik liitumine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT * FROM Book NATURAL JOIN Price;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
pgAdmin Lihtne sisemine liitumine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
pgAdmini välimine liitumine
Seejärel käivitage pgAdminis kolm välimist liitumisvarianti, järgides alltoodud samme.
Vasakpoolne välimine liitekoht
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
Parempoolne ühendus
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
Täielik väline liitumine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Step 4) Klõpsake nuppu Käivita.
See peaks tagastama järgmise:
Laadige alla selles õpetuses kasutatud andmebaas





























