logo

סוגי SQL JOIN

SQL JOIN

חיבור SQL משמש לאחזור או לשלב נתונים (שורות או עמודות) משתי טבלאות או יותר בהתבסס על התנאים שהוגדרו.

טבלה 1: סדר

מספר הזמנה מספר לקוח OrderName שם מוצר
12025 101 פיטר א ב ג
12030 105 רוברט XYX
12032 110 ג'יימס XYZ
12034 115 אנדרו PQR
12035 120 מתיו AAA

טבלה 2: לקוח

מספר לקוח שם לקוח מדינה
100 מבולגן מקסיקו
101 נסיך טייוואן
103 מריה פרננדס טורקיה
105 יַסמִין פריז
110 פאף סמור אִינדוֹנֵזִיָה
120 רוקט רומא רוּסִיָה

עכשיו, יש לנו שני שולחנות להזמין וה צרכן . יש מספר לקוח עמודה נפוצה בשתי הטבלאות. לכן, כתוב את שאילתת SQL כדי להגדיר את הקשר הכללי לבחירת רשומות ההתאמות משתי הטבלאות.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

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

מספר הזמנה שם לקוח מדינה שם מוצר
12025 נסיך טייוואן א ב ג
12030 יַסמִין פריז XYX
12032 פאף סמור אִינדוֹנֵזִיָה XYZ
12035 רוקט רומא רוּסִיָה AAA

סוגי SQL Join

ישנם סוגים שונים של חיבורים בשימוש ב-SQL:

  1. הצטרפות פנימית / הצטרפות פשוטה
  2. חיבור שמאל חיצוני / חיבור שמאל
  3. חיבור ימין חיצוני / חיבור ימני
  4. חיבור חיצוני מלא
  5. Cross Join
  6. הצטרפות עצמית

הצטרפות פנימית

החיבור הפנימי משמש לבחירת כל השורות או העמודות התואמות בשתי הטבלאות או כל עוד התנאי המוגדר חוקי ב-SQL.

תחביר:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

אנו יכולים לייצג את החיבור הפנימי דרך דיאגרמת Venn, באופן הבא:

סוגי SQL JOIN

טבלה 1: תלמידים

תעודת סטודנט שם תלמיד נושא תעודת מורה
101 אלכסנדרה מדעי המחשב T201
102 צ'ארלס כלכלה T202
103 תום קרוז מדעי המחשב T201
104 אהרון פינץ' מכשירי חשמל T203
105 זרע באג'וף עיצוב אתרים T204
106 כריסטופר ספרות אנגלית T205
107 דֵנִים מעצב אופנה T206

טבלה 2: מורים

תעודת מורה שם המורה דוא'ל למורה
T201 מר דיוויס [מוגן באימייל]
T202 גברת ג'ונאס [מוגן באימייל]
T201 מר דיוויס [מוגן באימייל]
T204 גברת לופז [מוגן באימייל]
T205 גברת ווילי [מוגן באימייל]
T206 מיסטר בין [מוגן באימייל]

יש לנו שני שולחנות: סטודנטים וה מורים טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה הצטרפות פנימית כדלהלן:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

לאחר ביצוע השאילתה, הוא מייצר את הטבלה שלהלן.

סוגי SQL JOIN

הצטרפות טבעית

זהו סוג של סוג פנימי שמחבר שתי טבלאות או יותר על סמך אותו שם עמודה ויש לו אותו סוג נתונים בשתי הטבלאות.

תחביר:

 Select * from tablename1 Natural JOIN tablename_2; 

יש לנו שני שולחנות: סטודנטים וה מורים טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה JOIN טבעי כדלהלן:

 Select * from Students Natural JOIN Teachers; 

לאחר ביצוע השאילתה לעיל, הוא מייצר את הטבלה הבאה.

סוגי SQL JOIN

שמאל הצטרף

ה שמאל הצטרף משמש כדי לאחזר את כל הרשומות מהטבלה השמאלית (טבלה 1) ואת השורות או העמודות המתואמות מהטבלה הימנית (טבלה 2). אם שתי הטבלאות אינן מכילות שורות או עמודות תואמות, זה מחזיר את הערך NULL.

תחביר:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

אנו יכולים גם לייצג את ההצטרפות השמאלית באמצעות דיאגרמת Venn, באופן הבא:

סוגי SQL JOIN

הערה: במסדי נתונים מסוימים, LEFT JOIN ידוע גם בשם LEFT OUTER JOIN.

טבלה 1: פרטי המוצר

מזהה מוצר שם מוצר כמות
Pro101 מחשב נייד 56000
Pro102 נייד 38000
Pro103 אוזניות 5000
Pro104 טֵלֶוִיזִיָה 25,000
Pro105 אייפד 60000

טבלה 2: פרטי_לקוח

מחרוזת לאובייקט json
שם לקוח כתובת הלקוח גיל הלקוח מזהה מוצר
מרטין גופטיל סן פרנסיסקו, ארה'ב 26 Pro101
ג'יימס אוֹסטְרַלִיָה 29 Pro103
אמבטי וויליאמסון ניו זילנד 27 Pro102
ג'ופרה ארצ'ר דרום אפריקה 24 Pro105
קייט וויילי אוֹסטְרַלִיָה עשרים Pro103

יש לנו שני שולחנות: פרטי מוצר וה פרטי לקוח טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה שמאל הצטרף כדלהלן:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

לאחר ביצוע השאילתה, הוא מייצר את הטבלה הבאה.

סוגי SQL JOIN

ה ימינה הצטרפות משמש כדי לאחזר את כל הרשומות מהטבלה הימנית (טבלה 2) ואת השורות או העמודות המתואמות מהטבלה השמאלית (טבלה 1). אם שתי הטבלאות אינן מכילות שורות או עמודות תואמות, זה מחזיר את ה-NULL.

תחביר:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

אנו יכולים גם לייצג את ההצטרפות הימנית באמצעות דיאגרמת Venn, באופן הבא:

סוגי SQL JOIN

הערה: במסדי נתונים מסוימים, ה- RIGHT JOIN ידוע גם בשם RIGHT OUTER JOIN.

טבלה 1: פרטי המוצר

תְעוּדַת זֶהוּת שם מוצר כמות
Pro101 מחשב נייד 56000
Pro102 נייד 38000
Pro103 אוזניות 5000
Pro104 טֵלֶוִיזִיָה 25,000
Pro105 אייפד 60000

טבלה 2: פרטי_לקוח

שם לקוח כתובת הלקוח גיל הלקוח מזהה מוצר
מרטין גופטיל סן פרנסיסקו, ארה'ב 26 Pro101
ג'יימס אוֹסטְרַלִיָה 29 Pro103
אמבטי וויליאמסון ניו זילנד 27 Pro102
ג'ופרה ארצ'ר דרום אפריקה 24 Pro105
אוֹת אַנְגלִיָה 29 Pro107
מורגן אַנְגלִיָה עשרים Pro108

יש לנו שני שולחנות: פרטי מוצר וה פרטי לקוח טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה ימינה הצטרף כדלהלן:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

לאחר ביצוע השאילתה, הוא מייצר את הטבלה שלהלן.

סוגי SQL JOIN

חיבור מלא או חיבור חיצוני מלא:

זהו קבוצת תוצאות שילוב של שניהם שמאל הצטרף ו ימינה הצטרף . הטבלאות המצורפות מחזירות את כל הרשומות משתי הטבלאות ואם לא נמצאו התאמות בטבלה, היא ממקמת את NULL. זה נקרא גם א הצטרפות חיצונית מלאה .

תחביר:

 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

אוֹ, הצטרפות חיצונית מלאה

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

אנו יכולים גם לייצג את החיבור החיצוני המלא באמצעות דיאגרמת Venn, באופן הבא:

סוגי SQL JOIN

טבלה 1: פרטי המוצר

תְעוּדַת זֶהוּת שם מוצר כמות
Pro101 מחשב נייד 56000
Pro102 נייד 38000
Pro103 אוזניות 5000
Pro104 טֵלֶוִיזִיָה 25,000
Pro105 אייפד 60000

טבלה 2: פרטי_לקוח

שם לקוח כתובת הלקוח גיל הלקוח מזהה מוצר
מרטין גופטיל סן פרנסיסקו, ארה'ב 26 Pro101
ג'יימס אוֹסטְרַלִיָה 29 Pro103
אמבטי וויליאמסון ניו זילנד 27 Pro102
ג'ופרה ארצ'ר דרום אפריקה 24 Pro105
אוֹת אַנְגלִיָה 29 Pro107
מורגן אַנְגלִיָה עשרים Pro108

יש לנו שני שולחנות: פרטי מוצר וה פרטי לקוח טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה מלא הצטרפו באופן הבא:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

לאחר ביצוע השאילתה, הוא מייצר את הטבלה שלהלן.

סוגי SQL JOIN

הערה: MySQL אינו תומך במושגי FULL JOIN, כך שאנו יכולים להשתמש בסעיף UNION ALL כדי לשלב את שתי הטבלאות.

הנה התחביר עבור איחוד הכל סעיף לשילוב הטבלאות.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

סוגי SQL JOIN

CROSS JOIN

זה ידוע גם בשם הצטרפו קרטזי , המחזיר את המוצר הקרטזיאני של שני טבלאות מחוברות או יותר. ה CROSS JOIN מייצר טבלה הממזגת כל שורה מהטבלה הראשונה עם כל שורת טבלה שנייה. אין צורך לכלול שום תנאי ב-CROSS JOIN.

js base64 פענוח

תחביר:

 Select * from table_1 cross join table_2; 

אוֹ,

 Select column1, column2, column3 FROM table_1, table_2; 

טבלה 1: פרטי המוצר

תְעוּדַת זֶהוּת שם מוצר כמות
Pro101 מחשב נייד 56000
Pro102 נייד 38000
Pro103 אוזניות 5000
Pro104 טֵלֶוִיזִיָה 25,000
Pro105 אייפד 60000

טבלה 2: פרטי_לקוח

שם לקוח כתובת הלקוח גיל הלקוח מזהה מוצר
מרטין גופטיל סן פרנסיסקו, ארה'ב 26 Pro101
ג'יימס אוֹסטְרַלִיָה 29 Pro103
אמבטי וויליאמסון ניו זילנד 27 Pro102
ג'ופרה ארצ'ר דרום אפריקה 24 Pro105
אוֹת אַנְגלִיָה 29 Pro107
מורגן אַנְגלִיָה עשרים Pro108

יש לנו שני שולחנות: פרטי מוצר וה פרטי לקוח טבלאות. בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה מלא הצטרפו באופן הבא:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

לאחר ביצוע השאילתה, הוא מייצר את הטבלה שלהלן.

סוגי SQL JOIN

הצטרפות עצמית

זהו SELF JOIN המשמש ליצירת טבלה על ידי הצטרפות עצמה מכיוון שהיו שני שולחנות. זה יוצר שם זמני של לפחות טבלה אחת במשפט SQL.

תחביר:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

שולחן 1 ו Tbl2 הם שני כינויי טבלה שונים עבור אותה טבלה.

טבלה 1: פרטי המוצר

תְעוּדַת זֶהוּת שם מוצר כמות
Pro101 מחשב נייד 56000
Pro102 נייד 38000
Pro103 אוזניות 5000
Pro104 טֵלֶוִיזִיָה 25,000
Pro105 אייפד 60000

בואו נכתוב את שאילתות SQL כדי להצטרף לטבלה באמצעות ה הצטרפות עצמית כדלהלן:

 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>