logo

Atšķirība starp kreiso savienojumu un labo savienojumu

MySQL galvenokārt ir divu veidu savienojumi ar nosaukumu LEFT JOIN un RIGHT JOIN. Galvenā atšķirība starp šiem savienojumiem ir nesakrītošu rindu iekļaušana . LEFT JOIN ietver visus ierakstus no kreisās puses un atbilstošās rindas no labās tabulas, savukārt RIGHT JOIN atgriež visas rindas no labās puses un nesaskaņotas rindas no kreisās tabulas. Šajā sadaļā mēs uzzināsim populārās atšķirības starp kreiso un labo pievienošanos. Pirms salīdzinājuma izpētes, vispirms sapratīsim JOIN, LEFT JOIN un RIGHT JOIN klauzulu. MySQL .

Kas ir JOIN klauzula?

A pievienoties tiek izmantots, lai vaicātu datus no vairākām tabulām un atgriež kombinēto rezultātu no divām vai vairākām tabulām, izmantojot nosacījumu. Nosacījums pievienošanās klauzulā norāda, kā kolonnas tiek saskaņotas starp norādītajām tabulām.

Kas ir LEFT JOIN klauzula?

Left Join klauzula savieno divas vai vairākas tabulas un atgriež visas rindas no kreisās tabulas un saskaņotos ierakstus no labās tabulas vai atgriež nulli, ja tā neatrod nevienu atbilstošu ierakstu. Tas ir pazīstams arī kā Kreisais ārējais savienojums . Tātad ārējais ir izvēles atslēgvārds, ko izmantot kopā ar kreiso pievienošanos.

Mēs to varam saprast ar šādu vizuālo attēlojumu:

Pievienošanās pa kreisi pret pievienošanos pa labi

Lai lasītu vairāk informācijas par pievienošanos LEFT, noklikšķiniet šeit .

Kas ir RIGHT JOIN klauzula?

Labās pievienošanās klauzula savieno divas vai vairākas tabulas un atgriež visas rindas no labās puses tabulas, kā arī tikai tos rezultātus no citas tabulas, kas izpildīja norādīto savienojuma nosacījumu. Ja tas atrod nesaskaņotus ierakstus no kreisās sānu tabulas, tas atgriež Null vērtību. Tas ir pazīstams arī kā Labais ārējais savienojums . Tātad Outer ir izvēles klauzula, kas jāizmanto kopā ar pareizo pievienošanos.

Mēs to varam saprast ar sekojošo vizuālais attēlojums .

Kreisais savienojums pret labo pievienošanos

Lai lasītu vairāk informācijas par RIGHT JOIN, noklikšķiniet šeit.

Klauzulas LEFT JOIN sintakse

Tālāk ir norādīta LEFT JOIN vispārīgā sintakse:

 SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Tālāk ir norādīta LEFT OUTTER JOIN vispārīgā sintakse:

 SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

RIGHT JOIN klauzulas sintakse

Tālāk ir norādīta RIGHT JOIN vispārējā sintakse:

 SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Tālāk ir norādīta RIGHT OUTER JOIN vispārīgā sintakse:

 SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

LEFT JOIN vs RIGHT JOIN

Šajā salīdzināšanas tabulā ir ātri izskaidrotas to galvenās atšķirības:

PA kreisi PIEVIENOTIES PAREIZI PIEVIENOJIES
Tas savieno divas vai vairākas tabulas, atgriež visus ierakstus no kreisās tabulas un atbilstošās rindas no labās puses tabulas. To izmanto, lai savienotu divas vai vairākas tabulas, atgriež visus ierakstus no labās tabulas un atbilstošās rindas no kreisās tabulas.
Rezultātu kopa satur nulles vērtību, ja labajā sānu tabulā nav atbilstošas ​​rindas. Rezultātu kopa satur nulles vērtību, ja kreisajā sānu tabulā nav atbilstošas ​​rindas.
To sauc arī par LEFT OUTTER JOIN. To sauc arī par RIGHT OUTTER JOIN.

Piemērs

Izmantojot piemērus, sapratīsim atšķirības starp abiem savienojumiem. Pieņemsim, ka mums ir tabula ar nosaukumu ' klientu ' un ' pasūtījumus ', kas satur šādus datus:

Tabula: klients

Pievienošanās pa kreisi pret pievienošanos pa labi

Tabula: pasūtījumi

Kreisais savienojums pret labo pievienošanos

LEFT JOIN Piemērs

Pēc SQL priekšraksta tiek atgriezti atbilstošie ieraksti no abām tabulām, izmantojot vaicājumu 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';>

Pēc veiksmīgas vaicājuma izpildes mēs saņemsim šādu izvadi:

Kreisais savienojums pret labo pievienošanos