Erot vasemman ja oikean liittymisen välillä

Anonim

Vasen vs. oikea Liity

Kun käsitellään SQL: ää, liittyminen on yleinen nimi, joka avautuu joka kerta. Liitäntälauseke auttaa yhdistämään tietueiden eri taulukoista tulevia tietueita. Yhdistäminen muodostaa käytännössä taulukon, jota voidaan käyttää sellaisenaan tai sitä käytetään muiden kanssa. Siksi on suositeltavaa ymmärtää nämä liittymät ja niiden väliset erot tietyn liittymän tietämiseen ja siitä, pitäisikö oikea tai vasen ottaa erityisissä tapauksissa.

Jotta ymmärtäisivät paremmat yhteydet ja niiden erimielisyydet, on tärkeää ymmärtää käytettävissä olevat liittymätyypit. Yleensä on kolme tyyppistä liitosta. Näihin liitoksiin kuuluu sisempi liitos, ristikytkentä ja ulompi liitos. Sisäosa yleensä vertaa taulukoita ja vain antaa tai palauttaa tuloksen siinä tapauksessa, että ottelu löytyy. Sisäliitoksen päätoiminto on vähentää tulosryhmien kokoa.

Toisaalta ristit yhdistävät vertaamalla kahta taulukkoa ja antavat jokaisen ja minkä tahansa mahdollisen yhdistelmän, jotka tulevat molempien pöytien riveistä. Tästä liittymästä odotetaan lukuisia tuloksia, ja useimmat niistä eivät ehkä ole mielekästä. Tämän liittymän käyttöä on sen vuoksi noudatettava varovaisesti.

Ulompi liitos ottaa vertailun taulukoihin ja palauttaa datan, kun ottelu on käytettävissä. Samoin kuin sisemmässä liitoksessa nähdään, ulompi liitäntä kopioi rivit tietyssä taulukossa siinä tapauksessa, että vastaavat tietueet näkyvät. Ulompiin liitoksien tulokset ovat tavallisesti suurempia, joten datajoukot ovat suuret, koska joukkoa ei sinänsä ole poistettu sarjasta.

Vasen liite viittaa kaikkien rekisterien pitämiseen ensimmäisestä taulukosta tuloksesta riippumatta ja NULL-arvojen lisäämisestä, kun toisen taulukon arvot eivät täsmää. Oikea liite puolestaan ​​viittaa kaikkien 2. taulukosta tulevien tietueiden säilyttämiseen riippumatta siitä, mikä tulos on, ja NULL-arvojen käyttämisestä, kun tulokset eivät vastaa ensimmäisessä taulukossa olevia.

Vasen ulompi liitos säilyttää siis kaikki "vasen" taulukossa olevat rivit riippumatta siitä, onko rivillä oikea taulukko. Vasemmassa taulukossa viitataan siis taulukkoon, joka tulee ensin yhteiseen lausuntoon. Sen pitäisi näkyä taulukon avainsanan "liity" vasemmalla puolella. Kun vasen ulompi liitos on tehty, kaikki vasemmanpuoleiset rivit tulee palauttaa. Taulukossa olevat vastaamattomat sarakkeet täytetään NULL: llä aina, kun ei ole ottelua.

On tärkeää huomata, että näiden kahden liittymän käsittelyssä kaikki taulukon vasemmalla puolella olevat rivit on esitetty vasemman ulomman liitoksen taulukossa. Tulokset näkyvät itsestään riippumatta siitä, onko vastaavia sarakkeita oikeassa taulukossa. Oikeassa ulommassa liitoksessa kaikki oikeanpuoleiset rivit näytetään ja tämä on riippumatta siitä, onko taulukon vasemmassa reunassa vastaavia sarakkeita.

Valintaa siitä, menisikö vasen ulompi liitos tai oikea ulompi liitos ei ole väliä, kun samat tulokset näkyvät. Oikean ulomman liitoksen toiminnot ovat samat toiminnot kuin vasemmalla ulommalla liitoksella. Yksinkertaisesti vaihtamalla järjestystä, jossa taulukot näkyvät SQL-käskyssä, voit odottaa samanlaisia ​​tuloksia, riippumatta käytetystä liittymästä.

Yhteenveto

Liitokset tulevat kolmeen pääryhmään - sisäinen liitos, ristikytkentä ja ulompi liitos

Vasen ulompi liitäntä näyttää kaikki rivit taulukon vasemmalta puolelta

Oikea liitos näyttää kaikki rivit taulukon oikealta puolelta

Vaihtoehtoinen SQL-sekvenssi voi poistaa sekä oikean että vasemman ulkoisen liitoksen käytön ja käyttää sen sijaan vain yhtä.