logo

ההבדל בין Left Join ל- Right Join

ל-MySQL יש בעיקר שני סוגים של הצטרפות בשם LEFT JOIN ו- RIGHT JOIN. ההבדל העיקרי בין הצטרפות אלה הוא הכללת שורות שאינן תואמות . ה-LEFT JOIN כולל את כל הרשומות מהצד השמאלי ושורות תואמות מהטבלה הימנית, ואילו RIGHT JOIN מחזירה את כל השורות מהצד הימני ושורות לא תואמות מהטבלה השמאלית. בסעיף זה, אנו הולכים להכיר את ההבדלים הפופולריים בין הצטרפות LEFT ו-RIGHT. לפני שנחקור את ההשוואה, הבה נבין תחילה את סעיף JOIN, LEFT JOIN ו- RIGHT JOIN ב MySQL .

מה זה סעיף JOIN?

א לְהִצְטַרֵף משמש לשאילתת נתונים ממספר טבלאות ומחזיר את התוצאה המשולבת משתי טבלאות או יותר באמצעות תנאי. התנאי בסעיף ה-join מציין כיצד עמודות מותאמות בין הטבלאות שצוינו.

מהו סעיף ה-LEFT JOIN?

הסעיף Left Join מצטרף לשתי טבלאות או יותר ומחזיר את כל השורות מהטבלה השמאלית ואת הרשומות התואמות מהטבלה הימנית או מחזיר null אם הוא לא מוצא שום רשומה תואמת. זה ידוע גם בשם חיבור חיצוני שמאלי . אז, Outer היא מילת המפתח האופציונלית לשימוש עם Left Join.

אנו יכולים להבין זאת באמצעות הייצוג החזותי הבא:

הצטרפות שמאל לעומת הצטרפות ימין

לקריאת מידע נוסף על ההצטרפות השמאלית, לחץ כאן .

מהו סעיף ההצטרפות הנכונה?

הסעיף Right Join מצטרף לשתי טבלאות או יותר ומחזיר את כל השורות מהטבלה הימנית, ורק את התוצאות מהטבלה האחרת שמילאה את תנאי החיבור שצוין. אם הוא מוצא רשומות לא תואמות מהטבלה בצד שמאל, הוא מחזיר ערך Null. זה ידוע גם בשם חיבור חיצוני ימני . אז, Outer הוא הסעיף האופציונלי לשימוש עם Right Join.

אנחנו יכולים להבין את זה עם הדברים הבאים ייצוג ויזואלי .

הצטרפות שמאל לעומת הצטרפות ימין

לקריאת מידע נוסף על RIGHT JOIN, לחץ כאן.

תחביר של סעיף LEFT JOIN

להלן התחביר הכללי של LEFT JOIN:

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

להלן התחביר הכללי של LEFT OUTER JOIN:

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

תחביר של סעיף RIGHT JOIN

להלן התחביר הכללי של RIGHT JOIN:

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

להלן התחביר הכללי של RIGHT OUTER JOIN:

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

LEFT JOIN לעומת RIGHT JOIN

טבלת ההשוואה הבאה מסבירה את ההבדלים העיקריים ביניהם בצורה מהירה:

שמאל הצטרף ימינה הצטרף
הוא מצטרף לשתי טבלאות או יותר, מחזיר את כל הרשומות מהטבלה השמאלית ושורות תואמות מהטבלה הימנית. הוא משמש לחיבור שתי טבלאות או יותר, מחזיר את כל הרשומות מהטבלה הימנית ושורות תואמות מהטבלה השמאלית.
ערכת התוצאה תכיל ערך null אם אין שורה תואמת בטבלה בצד ימין. ערכת התוצאה תכיל ערך null אם אין שורה תואמת בטבלה בצד שמאל.
זה ידוע גם בשם LEFT OUTER JOIN. זה נקרא גם RIGHT OUTER JOIN.

דוגמא

הבה נבין את ההבדלים בין שתי ההצטרפות באמצעות דוגמאות. נניח שיש לנו טבלה בשם ' צרכן 'ו' הזמנות ' שמכיל את הנתונים הבאים:

טבלה: לקוח

הצטרפות שמאל לעומת הצטרפות ימין

טבלה: הזמנות

הצטרפות שמאל לעומת הצטרפות ימין

דוגמה ל-LEFT JOIN

משפט SQL הבא מחזיר את הרשומות התואמות משתי הטבלאות באמצעות השאילתה 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';>

לאחר ביצוע מוצלח של השאילתה, נקבל את הפלט באופן הבא:

הצטרפות שמאל לעומת הצטרפות ימין