MySQL are în principal două tipuri de îmbinări numite LEFT JOIN și RIGHT JOIN. Principala diferență între aceste îmbinări este includerea rândurilor nepotrivite. LEFT JOIN include toate înregistrările din partea stângă și rândurile potrivite din tabelul din dreapta, în timp ce RIGHT JOIN returnează toate rândurile din partea dreaptă și rândurile nepotrivite din tabelul din stânga. În această secțiune, vom cunoaște diferențele populare dintre LEFT și RIGHT join. Înainte de a explora comparația, haideți să înțelegem mai întâi clauza JOIN, LEFT JOIN și RIGHT JOIN în MySQL.
Ce este clauza JOIN?
Un join este utilizat pentru a interoga date din mai multe tabele și returnează rezultatul combinat din două sau mai multe tabele printr-o condiție. Condiția din clauza join indică modul în care coloanele sunt potrivite între tabelele specificate.
Ce este clauza LEFT JOIN?
Clauza Left Join unește două sau mai multe tabele și returnează toate rândurile din tabelul din stânga și înregistrările potrivite din tabelul din dreapta sau returnează zero dacă nu găsește nicio înregistrare corespunzătoare. Este cunoscută și sub numele de Left Outer Join. Așadar, Outer este cuvântul cheie opțional care trebuie utilizat cu Left Join.
Potem să o înțelegem cu următoarea reprezentare vizuală:
Pentru a citi mai multe informații despre LEFT Join, faceți clic aici.
Ce este clauza RIGHT JOIN?
Clauza Right Join unește două sau mai multe tabele și returnează toate rândurile din tabelul din dreapta și numai acele rezultate din celălalt tabel care au îndeplinit condiția de îmbinare specificată. Dacă găsește înregistrări nepotrivite din tabelul din stânga, aceasta returnează valoarea Null. Este, de asemenea, cunoscută sub numele de Right Outer Join. Așadar, Outer este clauza opțională care trebuie utilizată cu Right Join.
Potem să o înțelegem cu următoarea reprezentare vizuală.
Pentru a citi mai multe informații despre RIGHT JOIN, faceți clic aici.
Sintaxa clauzei LEFT JOIN
Aceasta este sintaxa generală a LEFT JOIN:
Aceasta este sintaxa generală a LEFT OUTER JOIN:
Sintaxa clauzei RIGHT JOIN
În continuare este prezentată sintaxa generală a RIGHT JOIN:
În continuare este prezentată sintaxa generală a RIGHT OUTER JOIN:
LEFT JOIN vs. RIGHT OUTER JOIN:
LEFT JOIN vs. RIGHT OUTER JOIN. RIGHT JOIN
Următorul tabel comparativ explică într-un mod rapid principalele lor diferențe:
LEFT JOIN | RIGHT JOIN | Întrerupe două sau mai multe tabele, returnează toate înregistrările din tabelul din stânga și rândurile corespunzătoare din tabelul din dreapta. | Se utilizează pentru a uni două sau mai multe tabele, returnează toate înregistrările din tabelul din dreapta și rândurile corespunzătoare din tabelul din stânga. |
---|---|
Setul de rezultate va conține o valoare nulă dacă nu există nici un rând corespondent în tabelul din partea dreaptă. | Setul de rezultate va conține o valoare nulă dacă nu există nici un rând corespondent în tabelul din partea stângă. | Se mai numește și LEFT OUTER JOIN. | Se mai numește și RIGHT OUTER JOIN. |
Exemplu
Să înțelegem diferențele dintre cele două îmbinări prin exemple. Să presupunem că avem o tabelă numită „client” și „comenzi” care conține următoarele date:
Tablă: client
Tablă: comenzi
LEFT JOIN Exemplu
Următoarea instrucțiune SQL returnează înregistrările corespunzătoare din ambele tabele utilizând interogarea LEFT JOIN:
După executarea cu succes a interogării, vom obține următorul rezultat:
RIGHT JOIN Exemplu
Următoarea instrucțiune SQL returnează înregistrările corespunzătoare din ambele tabele folosind interogarea RIGHT JOIN:
După executarea cu succes a interogării, vom obține rezultatul după cum urmează:
.