Lisää
Mitä eroa on INNER JOIN, LEFT JOIN, RIGHT JOIN ja FULL JOIN välillä?
Mitä eroa on INNER JOIN
, LEFT JOIN
, RIGHT JOIN
ja FULL JOIN
välillä?
MySQL:ssä?
1586
3
Tämän alkuperäisen artikkelin lukeminen The Code Projectissa auttaa sinua paljon: Visual Representation of SQL Joins.
Tutustu myös tähän viestiin: SQL SERVER - Parempi suorituskyky - LEFT JOIN vai NOT IN?.
Löydät alkuperäisen osoitteesta: JOINin ja OUTER JOINin ero MySQL:ssä.
INNER JOIN hakee kaikki tietueet, jotka ovat yhteisiä molemmille taulukoille annetun ON-lausekkeen perusteella.
LEFT JOIN saa kaikki tietueet linkitetystä vasemmanpuoleisesta taulusta, mutta jos olet valinnut joitain sarakkeita oikeanpuoleisesta taulusta, nämä sarakkeet sisältävät NULLin, jos niihin liittyviä tietueita ei ole.
OIKEA JOIN on samanlainen kuin edellä, mutta se saa kaikki tietueet OIKEASTA taulusta.
FULL JOIN hakee kaikki tietueet molemmista taulukoista ja laittaa NULL:n niihin sarakkeisiin, joihin liittyviä tietueita ei ole vastakkaisessa taulukossa.
SQL:ssä on käytettävissä erityyppisiä liitoksia:
INNER JOIN: palauttaa rivejä, kun molemmissa taulukoissa on vastaavuus.
LEFT JOIN: Palauttaa kaikki vasemmanpuoleisen taulukon rivit, vaikka oikeanpuoleisessa taulukossa ei olisikaan vastaavuutta.
OIKEA JOIN: palauttaa kaikki rivit oikeasta taulukosta, vaikka vasemmassa taulukossa ei olisi yhtään vastaavuutta.
FULL JOIN: Yhdistää sekä vasemman että oikean ulomman liitoksen tulokset.
Yhdistetty taulukko sisältää kaikki tietueet molemmista taulukoista ja täyttää NULL-tietueet puuttuvien osumien osalta kummallakin puolella.
SELF JOIN: Tätä käytetään yhdistämään taulukko itseensä ikään kuin taulukko olisi kaksi taulukkoa, jolloin ainakin yksi taulukko nimetään SQL-lauseessa väliaikaisesti uudelleen.
KARTESIAN JOIN: palauttaa kahden tai useamman yhdistetyn taulukon tietuejoukkojen kartesiittisen tulon.
Voimme ottaa jokaisen neljän ensimmäisen liitoksen yksityiskohdat :
Meillä on kaksi taulukkoa, joilla on seuraavat arvot.
TableA
TaulukkoB
....................................................................
INNER JOIN
Huomaa :se antaa kahden taulukon leikkauspisteen, eli rivit, jotka ovat yhteisiä taulukossaA ja taulukossaB.
Syntaksi
Sovelletaan sitä esimerkkitaulukkoon :
Tulos on
LEFT JOIN
Huomautus : antaa kaikki valitut rivit taulukossaA sekä kaikki yhteiset valitut rivit taulukossaB.
Syntaksi
Sovelletaan sitä esimerkkitaulukkoon :
Tulos
OIKEA LIITTYMINEN
Huomautus : antaa kaikki valitut rivit taulukossaB sekä kaikki yhteiset valitut rivit taulukossaA.
Syntaksi
Sovelletaan sitä esimerkkitaulukkoon :
Tulos
FULL JOIN
Huomaa :Se palauttaa kaikki valitut arvot molemmista taulukoista.
Syntaksi
Sovelletaan sitä esimerkkitaulukkoon :
Tulos
Interenkiintoinen fakta
INNER-joineissa järjestyksellä ei ole merkitystä.
(LEFT, RIGHT tai FULL) OUTER-joineissa järjestyksellä on väliä.
Parempi tarkistaa tämä Linkki se antaa sinulle mielenkiintoisia yksityiskohtia liittymisjärjestyksestä.