PostgreSQL Liitostyypit esimerkein: sisempi, ulompi, vasen, oikea
Mitä ovat liittymiset PostgreSQL?
PostgreSQL Liitosten käytetään tietojen hakemiseen useammasta kuin yhdestä taulukosta. Joinsin avulla voimme yhdistää SELECT- ja JOIN-käskyt yhdeksi lauseeksi. Käskyyn lisätään JOIN-ehto, ja kaikki ehdot täyttävät rivit palautetaan. Eri taulukoiden arvot yhdistetään yhteisten sarakkeiden perusteella. Yhteinen sarake on enimmäkseen ensisijainen avain ensimmäisessä taulukossa ja vierasavain toisessa taulukossa.
PostgreSQL Liittymistyypit
Liittymiä on kahdenlaisia PostgreSQL:
- Sisäiset liittymät
- Ulkopuoliset liittymät
PostgreSQL Sisäinen liittyminen
Sisäisiä liitoksia on 3 tyyppiä PostgreSQL:
- Theta liittyy
- Luonnollinen liitos
- EQUI liittyä
Theta Liity
Theta-liitoksen avulla voidaan yhdistää kaksi taulukkoa sen ehdon perusteella, jota theta edustaa. Theta-liitokset voivat toimia kaikkien vertailuoperaattoreiden kanssa. Useimmissa tapauksissa theta-liitosta kutsutaan sisäliitokseksi.
Theta-liitos on JOIN:n yksinkertaisin tyyppi. Se palauttaa kaikki rivit taulukoista, joissa JOIN-ehto täyttyy.
Syntaksi:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Harkitse seuraavia Demo-tietokannan taulukoita:
Kirja:
Hinta:
Haluamme nähdä jokaisen kirjan nimen ja vastaavan hinnan. Voimme suorittaa seuraavan komennon:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavat tiedot:
Vain 3 riviä täytti liitosehdon.
EQUI Liity
EQUI-liitos tarjoaa meille tavan yhdistää kaksi taulukkoa ensisijaisen avaimen/vieraan avaimen suhteen perusteella. Esimerkiksi:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavat tiedot:
Molemmista taulukoista on palautettu tietueita yhteisten sarakkeiden eli id-sarakkeen perusteella.
Luonnollinen liittyminen
Tämäntyyppinen liitos tarjoaa meille toisen tavan kirjoittaa EQUI-liitos. Voimme parantaa edellistä esimerkkiämme lisäämällä LUONNON avainsanan alla olevan kuvan mukaisesti:
SELECT * FROM Book NATURAL JOIN Price;
Tämä palauttaa seuraavat tiedot:
Vain yksi id-sarake on palautettu. NATURAL JOIN havaitsi, että id-sarake on yhteinen kahdessa taulukossa. Vain yksi palautettiin.
Postgres Outer Join
Ulkoliitoksia on 3 tyyppiä PostgreSQL:
- Vasen ulompi liittymä
- Oikea ulompi liitos
- Täysi ulkoinen liittyminen
Postgresin vasen ulkoliitos
LEFT OUTTER JOIN palauttaa kaikki taulukon rivit vasemmalla puolella ja vain ne oikeanpuoleisen sivutaulukon rivit, joissa liitosehto on täytetty.
Syntaksi:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Meidän on nähtävä jokaisen kirjan nimi ja vastaava hinta. Voimme suorittaa seuraavan komennon:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikki Kirja-taulukon 4 riviä on palautettu. Vain 3 riviä Hintataulukosta täytti liitosehdon. Siksi heidät palautettiin. Viimeisellä kirjalla ei ole vastaavaa hinta-arvoa.
Postgres oikea ulkoliitos
RIGHT OUTER JOIN palauttaa kaikki taulukon rivit oikealla puolella ja rivit taulukon vasemmalla puolella, joissa liitosehto on täytetty.
Syntaksi:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Esimerkiksi:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikki hintataulukon rivit on palautettu. Vain kirjataulukon rivit, jotka täyttivät liitosehdon, palautettiin. 3rd rivillä ei ole arvoa nimelle, koska vastaavuutta ei löytynyt.
Täysi ulkoinen liittyminen PostgreSQL
Tämän tyyppinen JOIN palauttaa kaikki taulukon rivit vasemmalla puolella ja kaikki taulukon rivit oikealla puolella nollapisteineen, joissa liitosehto ei täyty.
Syntaksi:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Esimerkiksi:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikki rivit kaikista taulukoista on palautettu, ja niissä on nollia, joille ei löytynyt vastaavuutta.
pgAdminin avulla
Yllä olevat tehtävät voidaan suorittaa pgAdminissa seuraavasti:
pgAdminin sisäinen liittyminen
Thetan käyttäminen Liity mukaan PostgreSQL pgAdminin avulla
Alla on vaiheet Theta Joinin käyttämiseksi Postgresissa pgAdminin avulla:
Vaihe 1) Kirjaudu pgAdmin-tilillesi
Avaa pgAdmin ja kirjaudu sisään tunnuksillasi
Vaihe 2) Luo esittelytietokanta
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely
Kirjoita alla oleva kysely kyselyeditoriin:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Vaihe 4) Suorita kysely
Napsauta Suorita-painiketta
Sen pitäisi palauttaa seuraavat tiedot:
EQUI Liity
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Luonnollinen liittyminen
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT * FROM Book NATURAL JOIN Price;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
pgAdmin yksinkertainen sisäinen liittyminen
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
pgAdmin Outer Join
Vasen ulompi liittymä
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Oikea ulompi liitos
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Täysi ulkoinen liittyminen
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Yhteenveto
- In PostgreSQL, käytämme JOIN-koodeja, kun meidän on noudettava arvoja useammasta kuin yhdestä taulukosta.
- SISÄLIITTYMINEN on JOIN:n perustyyppi. Se palauttaa kaikki tietueet, joissa määritetty JOIN-ehto täyttyi.
- LEFT OUTTER JOIN palauttaa kaikki vasemmanpuoleisen taulukon rivit ja vain ne toisen taulukon rivit, joissa liitosehto on täytetty.
- RIGHT OUTER JOIN palauttaa kaikki oikeanpuoleisen taulukon rivit ja vain ne toisen taulukon rivit, joissa liitosehto on täytetty.
- Tämän tyyppinen JOIN palauttaa kaikki vasemmanpuoleisen taulukon rivit ja kaikki oikeanpuoleisen taulukon rivit nolla-arvoineen, joissa liitosehto ei täyty.
Lataa tässä opetusohjelmassa käytetty tietokanta