MySQL:ssä on pääasiassa kahdenlaisia liitoksia nimeltä LEFT JOIN ja RIGHT JOIN. Tärkein ero näiden joinien välillä on yhteensopimattomien rivien sisällyttäminen. LEFT JOIN sisältää kaikki tietueet vasemmalta puolelta ja yhteensovitetut rivit oikeasta taulusta, kun taas RIGHT JOIN palauttaa kaikki rivit oikealta puolelta ja yhteensovittamattomat rivit vasemmasta taulusta. Tässä jaksossa tutustumme LEFT- ja RIGHT-JOIN -liitosten suosittuihin eroihin. Ennen vertailun tutkimista ymmärrämme ensin JOIN-, LEFT JOIN- ja RIGHT JOIN -lausekkeet MySQL:ssä.
Mikä on JOIN-lauseke?
Liitosta käytetään tietojen kyselyyn useista taulukoista, ja se palauttaa yhdistetyn tuloksen kahdesta tai useammasta taulukosta ehdon kautta. Join-lausekkeessa oleva ehto ilmaisee, miten sarakkeet sovitetaan yhteen määritettyjen taulukoiden välillä.
Mikä on LEFT JOIN-lauseke?
Vasen Join-lauseke yhdistää kaksi tai useampia taulukoita ja palauttaa kaikki vasemmanpuoleisen taulukon rivit ja oikeanpuoleisen taulukon sovitetut tietueet tai palauttaa nollan arvoksi, jos yhtään sovitettua tietuetta ei löydy. Se tunnetaan myös nimellä Left Outer Join. Outer on siis valinnainen avainsana, jota käytetään Left Join -lausekkeen kanssa.
Voidaan ymmärtää sitä seuraavan visuaalisen esityksen avulla:
Lue lisää tietoa LEFT Join -lausekkeesta napsauttamalla tästä.
Mikä on RIGHT JOIN -lauseke?
Right Join -lausekkeella yhdistetään kaksi tai useampia taulukoita ja palautetaan oikeanpuoleisesta taulukosta kaikki rivit ja toisesta taulukosta vain ne tulokset, jotka täyttävät määritetyn liitosehdon. Jos se löytää vasemmanpuoleisesta taulukosta yhteensopimattomia tietueita, se palauttaa nolla-arvon. Se tunnetaan myös nimellä Right Outer Join. Outer on siis valinnainen lauseke, jota käytetään Right Join -liitoksen kanssa.
Voidaan ymmärtää sitä seuraavan visuaalisen esityksen avulla.
Lue lisätietoja RIGHT JOIN -liitoksesta napsauttamalla tästä.
LEFT JOIN -lausekkeen syntaksi
LEFT JOINin yleinen syntaksi on seuraava:
LEFT OUTER JOINin yleinen syntaksi on seuraava:
OIKEAN JOIN-lausekkeen syntaksi
Seuraava on oikean JOIN-lausekkeen yleinen syntaksi:
Seuraava on oikean OUTER JOIN-lausekkeen yleinen syntaksi:
LEFT JOIN vs. RIGHT JOIN
Seuraavassa vertailutaulukossa selitetään nopeasti niiden tärkeimmät erot:
LEFT JOIN | RIGHT JOIN |
---|---|
Se yhdistää kaksi tai useampia taulukoita, palauttaa kaikki tietueet vasemmanpuoleisesta taulukosta ja vastaavat rivit oikeanpuoleisesta taulukosta. | Se yhdistää kaksi tai useampia taulukoita, palauttaa kaikki tietueet oikeasta taulukosta ja vastaavat rivit vasemmasta taulukosta. |
Tulosjoukko sisältää nolla-arvon, jos oikeanpuoleisessa taulukossa ei ole vastaavaa riviä. | Tulosjoukko sisältää nolla-arvon, jos vasemmanpuoleisessa taulukossa ei ole vastaavaa riviä. |
Se tunnetaan myös nimellä LEFT OUTER JOIN. | Se tunnetaan myös nimellä RIGHT OUTER JOIN. |
Esimerkki
Ymmärretään molempien yhdistämisten erot esimerkkien avulla. Oletetaan, että meillä on taulukko nimeltä ”asiakas” ja ”tilaukset”, joka sisältää seuraavat tiedot:
Taulukko: asiakas
Taulukko: tilaukset
LEFT JOIN-esimerkki
Seuraava SQL-lauseke palauttaa yhteensopivat tietueet kummastakin taulukosta LEFT JOIN -kyselyä käyttäen:
Kyselyn onnistuneen suorittamisen jälkeen saamme tulosteen seuraavasti:
RIGHT JOIN Esimerkki
Seuraava SQL-lause palauttaa yhteensopivat tietueet molemmista taulukoista käyttäen RIGHT JOIN-kyselyä:
Kyselyn onnistuneen suorittamisen jälkeen saamme tulosteen seuraavasti: