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:
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 .
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
Tabula: pasūtījumi
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:
'2020-04-30';>