Mitä PostgreSQL-liittymät ovat?
PostgreSQL JOIN -tietoja käytetään tietojen hakemiseen useammasta kuin yhdestä taulukosta. JOINsilla voimme yhdistää SELECT- ja JOIN-lauseet yhdeksi lauseeksi. JOIN-ehto lisätään lausekkeeseen ja kaikki ehdot täyttävät rivit palautetaan.
Eri taulukoiden arvot yhdistetään yhteisten sarakkeiden perusteella. Yhteinen sarake on enimmäkseen ensimmäisen taulukon ensisijainen avain ja toisen taulukon vieras avain.
Tässä PostgreSQL-opetusohjelmassa opit:
- Mitä PostgreSQL-liittymät ovat?
- Liitostyypit
- Sisäiset liittymät
- Theta Liity
- EQUI Liity
- Luonnollinen liittyminen
- Ulkopuoliset liittymät
- VASEN ULKOINEN LIITTYMINEN
- OIKEA ULKOINEN LIITÄMINEN
- Täysi ulkoinen liittyminen
- PgAdminin käyttäminen
- Sisäiset liittymät
- Theta Liity
- EQUI Liity
- Luonnollinen liittyminen
- INNER JOIN (yksinkertainen liittyminen)
- Ulkopuoliset liittymät
- VASEN ULKOINEN LIITTYMINEN
- OIKEA ULKOINEN LIITÄMINEN
- Täysi ulkoinen liittyminen
Liitostyypit
PostgreSQL: ssä on kaksi JOIN-tyyppiä:
- Sisäiset liittymät
- Ulkopuolinen liittyminen
Sisäiset liittymät
Sisäisiä liitoksia on 3 tyyppiä:
- Theta liittyy
- Luonnollinen liitos
- EQUI liittyy
Theta Liity
Teeta-liitoksen avulla voidaan liittyä kahteen taulukkoon teetan edustaman ehdon perusteella. Theta-liittymät voivat toimia kaikkien vertailuoperaattoreiden kanssa. Useimmissa tapauksissa theta-liitokseen viitataan sisäisenä liitoksena.
Teeta-liitos on yksinkertaisin JOIN-tyyppi. Se palauttaa kaikki rivit taulukoista, joissa JOIN-ehto täyttyy.
Syntaksi:
SELECT columnsFROM table-1INNER JOIN table-2ON table-1.column = table-2.column;
Harkitse seuraavia demotietokannan taulukoita:
Kirja:
Hinta:
Haluamme nähdä jokaisen kirjan nimen ja vastaavan hinnan. Voimme suorittaa seuraavan komennon:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
Tämä palauttaa seuraavat:
Vain 3 riviä täytti liittymisehdot.
EQUI Liity
EQUI-liittymä tarjoaa meille mahdollisuuden yhdistää kaksi taulukkoa ensisijaisen avaimen / vieraan avaimen suhteen perusteella. Esimerkiksi:
SELECT *FROM BookJOIN Price ON Book.id = Price.id;
Tämä palauttaa seuraavat:
Tietueet on palautettu molemmista taulukoista yhteisten sarakkeiden eli id-sarakkeen perusteella.
Luonnollinen liittyminen
Tämän tyyppinen liittyminen tarjoaa meille toisen tavan kirjoittaa EQUI-liittymä. Voimme parantaa edellistä esimerkkiä lisäämällä NATURAL-avainsanan alla olevan kuvan mukaisesti:
SELECT *FROM BookNATURAL JOIN Price;
Tämä palauttaa seuraavat:
Vain yksi id-sarake on palautettu. NATURAL JOIN pystyi huomaamaan, että id-sarake on yhteinen kahdessa taulukossa. Vain yksi palautettiin.
Ulkopuoliset liittymät
PostgreSQL: ssä on kolme ulkoista JOIN-tyyppiä:
- Vasen ulompi liittymä.
- Oikea ulompi liitos.
- Täysi ulkoinen liittyminen
VASEN ULKOINEN LIITTYMINEN
VASEN OUTER JOIN palauttaa kaikki taulukon rivit vasemmalla puolella ja vain ne oikeanpuoleisen taulukon rivit, joissa liittymisehto on täytetty.
Syntaksi:
SELECT columnsFROM table-1LEFT OUTER JOIN table-2ON 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.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikki Book-taulukon 4 riviä on palautettu. Vain 3 hintataulukon riviä täytti liittymisehdot. Siksi heidät palautettiin. Viimeisellä kirjalla ei ole vastaavaa hinta-arvoa.
OIKEA ULKOINEN LIITÄMINEN
OIKEA OUTER JOIN palauttaa kaikki taulukon rivit oikealla puolella ja taulukon rivit vasemmalla puolella, jos liittymisehto on täytetty.
Syntaksi:
SELECT columnsFROM table-1RIGHT OUTER JOIN table-2ON table-1.column = table-2.column;
Esimerkiksi:
SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikki hintataulukon rivit on palautettu. Vain Kirja-taulukon rivit, jotka täyttivät liittymisehdot, palautettiin. 3 rd rivillä ei ole arvoa nimeä, koska mitään löytynyt.
Täysi ulkoinen liittyminen
Tämäntyyppinen JOIN palauttaa kaikki taulukon rivit vasemmalla puolella ja kaikki taulukon rivit oikealla puolella nollilla, jos liittymisehto ei täyty.
Syntaksi:
SELECT columnsFROM table-1FULL OUTER JOIN table-2ON table-1.column = table-2.column;
Esimerkiksi:
SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;
Tämä palauttaa seuraavan:
Kaikkien taulukoiden kaikki rivit on palautettu. Niillä ei ole yhtään tulosta.
PgAdminin käyttäminen
Yllä olevat tehtävät voidaan suorittaa pgAdminissa seuraavasti:
Sisäiset liittymät
Theta Liity
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
EQUI Liity
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT *FROM BookJOIN Price ON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
Luonnollinen liittyminen
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT *FROM BookNATURAL JOIN Price;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
INNER JOIN (yksinkertainen liittyminen)
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
Ulkopuoliset liittymät
VASEN ULKOINEN LIITTYMINEN
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
OIKEA ULKOINEN LIITÄMINEN
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
Täysi ulkoinen liittyminen
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraava:
Yhteenveto:
- PostgreSQL: ssä käytämme JOIN-tiedostoja, kun meidän on haettava arvot useammasta kuin yhdestä taulukosta.
- INNER JOIN on yksinkertaisin JOIN-tyyppi. Se palauttaa kaikki tietueet, joissa määritetty JOIN-ehto täyttyi.
- LEFT OUTER JOIN palauttaa vasemmanpuoleisen taulukon kaikki rivit ja vain toisen taulukon rivit, joissa liittymisehto on täytetty.
- OIKEA OUTER JOIN palauttaa kaikki oikeanpuoleisen taulukon rivit ja vain toisen taulukon rivit, joissa liittymisehto on täytetty.
- Tämäntyyppinen JOIN palauttaa vasemmanpuoleisen taulukon kaikki rivit ja kaikki oikeanpuoleisen taulukon rivit nollilla, jos liittymisehto ei täyty.
Lataa tässä opetusohjelmassa käytetty tietokanta