MySQL are în principal două tipuri de îmbinări numite LEFT JOIN și RIGHT JOIN. Principala diferență dintre 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 unirea LEFT și RIGHT. Înainte de a explora comparația, să înțelegem mai întâi clauzele JOIN, LEFT JOIN și RIGHT JOIN din MySQL .
Ce este clauza JOIN?
A a te alatura este utilizat pentru a interoga datele din mai multe tabele și returnează rezultatul combinat din două sau mai multe tabele printr-o condiție. Condiția din clauza de unire 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ă null dacă nu găsește nicio înregistrare care se potrivește. Este cunoscut și ca Left Outer Join . Deci, Outer este cuvântul cheie opțional de utilizat cu Left Join.
O putem înțelege cu următoarea reprezentare vizuală:
Pentru a citi mai multe informații despre alăturarea LEFT, click 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 a îndeplinit condiția de îmbinare specificată. Dacă găsește înregistrări nepotrivite din tabelul din stânga, returnează valoarea nulă. Este cunoscut și ca Uniunea exterioară dreaptă . Deci, Outer este clauza opțională de utilizat cu Right Join.
O putem înțelege cu următoarele reprezentare vizuala .
Pentru a citi mai multe informații despre RIGHT JOIN, faceți clic aici.
Sintaxa clauzei LEFT JOIN
Următoarea este sintaxa generală a LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Următoarea este sintaxa generală a LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Sintaxa clauzei RIGHT JOIN
Următoarea este sintaxa generală a RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Următoarea este sintaxa generală a RIGHT OUTER JOIN:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LEFT JOIN vs. RIGHT JOIN
Următorul tabel de comparație explică principalele diferențe ale acestora într-un mod rapid:
LEFT JOIN | ÎNSCRIEȚI DREPT |
---|---|
Acesta unește două sau mai multe tabele, returnează toate înregistrările din tabelul din stânga și rândurile care se potrivesc din tabelul din dreapta. | Este folosit pentru a uni două sau mai multe tabele, returnează toate înregistrările din tabelul din dreapta și rândurile care se potrivesc din tabelul din stânga. |
Setul de rezultate va conține o valoare nulă dacă nu există un rând care se potrivește în tabelul din dreapta. | Setul de rezultate va conține o valoare nulă dacă nu există un rând care se potrivește pe tabelul din stânga. |
Este cunoscut și sub numele de LEFT OUTER JOIN. | Se mai numește RIGHT OUTER JOIN. |
Exemplu
Să înțelegem diferențele dintre ambele îmbinări prin exemple. Să presupunem că avem un tabel numit „ client ' și ' Comenzi ' care conține următoarele date:
Tabel: client
Tabel: comenzi
LEFT JOIN Exemplu
Următoarea instrucțiune SQL returnează înregistrările care se potrivesc din ambele tabele folosind interogarea LEFT JOIN:
SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>
După executarea cu succes a interogării, vom obține rezultatul după cum urmează:
'2020-04-30';>