Tärkein ero: SQL-liittymät suoritetaan kahden eri taulukon tietojen yhdistämiseksi. Sisäinen liittyminen on ehto, joka johtaa riveihin, jotka täyttävät ”kaikki taulukot” -kohdan lausekkeen; Outer Join on ehto, joka johtaa niihin riveihin, jotka täyttävät ”ainakin” taulukon ”missä” -lausekkeen.
Toteutettaessa liittymiä luodaan väliaikaiset taulukot, jotka perustuvat sarakkeisiin. Liittymisolosuhteita varten on aina oltava kaksi taulukkoa. Nämä olosuhteet yhdistävät sitten yhden taulukon vastaavat osat muihin komponentteihin ja muodostavat täysin uuden taulukon. Näiden taulukkojen tavoitteena on kerätä merkitykselliset ja vaaditut tiedot tai tiedot. Olosuhteista riippuen on olemassa kahdenlaisia liittymiä, sisempi ja ulompi liitos.
SQL INNER JOIN -syntaksi:
SELECT-sarake_nimi (t)
FROM taulukosta1
INNER JOIN -taulukko2
ON table1.column_name = table2.column_name;
INNER JOIN-avainsana valitsee kaikki rivit molemmista taulukoista niin kauan kuin molempien taulukoiden sarakkeet ovat keskenään kesken.
Sisäiset liitokset riippuvat tietokannan mallien ja ominaisuuksien valinnasta. Niinpä näitä sisäisiä liitoksia käytetään Equi-Joins- ja Natural-liittymissä. Equi-liittymässä on erityinen vertailu, jota käytetään kahden tietyn taulukon tasaamiseen. Näin ollen tässä taulukossa käytetään yhtäläistä ennustetta. Luonnollinen liittyminen on eräänlainen Equi-liittymä.
Syntaksi Equi Joinille on seuraava:
S ELECT *
Taulukosta 1, taulukosta 2
WHERE table1.coloumn_name = table2.coloumn_name;
Jos yhtälöliittymän sarakkeilla on sama nimi, vastaava SQL-versio tarjoaa valinnaisen lyhytmerkinnän, jonka USING-rakenne voi ilmaista seuraavasti:
VALITSE *
Taulukosta1 INNER JOIN -taulukko2 KÄYTTÖ (sarakkeen_nimi);
Syntaksi luonnolliselle liittymälle on seuraava:
VALITSE *
Taulukosta 1 NATURAL JOIN -taulukko2;
”Ulkoinen liittyminen” ei edellytä tietueiden vastaavia ehtoja. Tämä liitostilanne ylläpitää kaikki muut tietueet, jotka eivät ole yhteensopivia. Tämä liitos jakautuu edelleen vasempaan, oikeaan ja täydelliseen ulompaan liitosolosuhteeseen, jotka toteutetaan haluttujen taulukon olosuhteiden ja attribuuttien mukaisesti.
Vasen Outer Join
VASEN JOIN-avainsana palauttaa kaikki rivit vasemmasta taulukosta (taulukko 1) ja oikeat taulukot vastaavat taulukoita (taulukko 2). Se johtaa “NULL” oikealle puolelle, kun ottelua ei ole.
Vasemmanpuoleisen liittymisen syntaksi seuraa:
SELECT-sarake_nimi (t)
FROM taulukosta1
LEFT OUTER JOIN taulukko2
ON table1.column_name = table2.column_name;
Oikea Outer Join
OIKEA JOIN-avainsana palauttaa kaikki rivit oikealta taulukosta (taulukko 2), vasemmassa taulukossa olevat vastaavat rivit (taulukko 1). Tulos on NULL vasemmalla puolella, kun ottelua ei ole.
Syntaksi oikealle ulkoiselle liittymälle seuraa:
SELECT-sarake_nimi (t)
FROM taulukosta1
OIKEA ULKOPUOLINEN taulukko2
ON table1.column_name = table2.column_name;
Täysi Outer Join
FULL OUTER JOIN-avainsana palauttaa kaikki rivit vasemman taulukon (taulukko 1) ja oikean taulukon (taulukko 2) kohdalta. FULL OUTER JOIN-avainsana yhdistää sekä vasemman että oikean yhdistämisen tuloksen.
Full Outer Joinin syntaksi on:
SELECT-sarake_nimi (t)
FROM taulukosta1
FULL OUTER JOIN -taulukko2
ON table1.column_name = table2.column_name;
Sisäisen liittymän ja ulkoisen yhdistymisen vertailu:
Sisäinen liittyminen | Outer Join | |
Perustoiminto | Sisäisiä liittymiä käytetään periaatteessa vastaavien rivien löytämiseen kahden taulukon välillä. | Ulkoinen liittymä säilyttää joko taulukon tai molempien taulukoiden rivit. |
Yhteisten muuttujien olemassaolo | Tällöin yhteisen muuttujan on oltava pakollisesti molemmissa taulukoissa. | Tällöin muuttuja riippuu vain ensimmäisestä taulukosta, joka voi olla tai ei ole läsnä toisessa taulukossa. |
tuotto | Sisäinen liityntä palauttaa vain rivit, joissa on ottelu, joka perustuu liittymis-predikaattiin. | Ulkoinen liityntä palauttaa kaikki rivit riippumatta siitä, ovatko ne keskenään perustuvia tai ne eivät ole yhteneviä liittymis-ennusteen perusteella. |
Tottunut | Sitä käytetään tallentamaan tietueita vain silloin, kun tietueet ovat molemmissa taulukoissa. | Sitä käytetään tarkastelemaan kaikkia tietueita vain yhdessä taulukossa. |
Sovellettavissa vuonna | Niitä sovelletaan: Equi-Join ja Luonnollinen liittyminen | Niitä sovelletaan: Vasen Outer Join Oikea Outer Join Täysi Outer Join |