logo

أنواع SQL JOIN

انضمام SQL

يتم استخدام SQL Join لجلب أو دمج البيانات (صفوف أو أعمدة) من جدولين أو أكثر بناءً على الشروط المحددة.

الجدول 1: النظام

رقم التعريف الخاص بالطلب هوية الزبون اسم الطلب اسم المنتج
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

هناك أنواع مختلفة من الصلات المستخدمة في SQL:

  1. الانضمام الداخلي / الانضمام البسيط
  2. الانضمام الخارجي الأيسر / الانضمام الأيسر
  3. الانضمام الخارجي الأيمن / الانضمام الأيمن
  4. الانضمام الخارجي الكامل
  5. تقاطع الانضمام
  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 للانضمام إلى الجدول باستخدام ملف الانضمام الطبيعي على النحو التالي:

 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: تفاصيل_المنتج

معرف المنتج اسم المنتج كمية
برو101 حاسوب محمول 56000
برو102 متحرك 38000
برو103 سماعات الرأس 5000
برو104 التلفاز 25000
برو105 اى باد 60000

الجدول 2: تفاصيل_العملاء

اناكوندا مقابل ثعبان الثعبان
اسم الزبون عنوان العميل CustomerAge معرف المنتج
مارتن جوبتيل سان فرانسيسكو، الولايات المتحدة الأمريكية 26 برو101
جوامع أستراليا 29 برو103
أمباتي ويليامسون نيوزيلندا 27 برو102
جوفرا آرتشر جنوب أفريقيا 24 برو105
كيت وايلي أستراليا عشرين برو103

لدينا جدولين: تفاصيل المنتج و ال تفاصيل العميل الجداول. لنكتب استعلامات 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

ملاحظة: في بعض قواعد البيانات، تُعرف الصلة اليمنى أيضًا باسم الصلة الخارجية اليمنى.

الجدول 1: تفاصيل_المنتج

بطاقة تعريف اسم المنتج كمية
برو101 حاسوب محمول 56000
برو102 متحرك 38000
برو103 سماعات الرأس 5000
برو104 التلفاز 25000
برو105 اى باد 60000

الجدول 2: تفاصيل_العملاء

اسم الزبون عنوان العميل CustomerAge معرف المنتج
مارتن جوبتيل سان فرانسيسكو، الولايات المتحدة الأمريكية 26 برو101
جوامع أستراليا 29 برو103
أمباتي ويليامسون نيوزيلندا 27 برو102
جوفرا آرتشر جنوب أفريقيا 24 برو105
فأل إنكلترا 29 برو107
مورغان إنكلترا عشرين برو108

لدينا جدولين: تفاصيل المنتج و ال تفاصيل العميل الجداول. لنكتب استعلامات 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: تفاصيل_المنتج

بطاقة تعريف اسم المنتج كمية
برو101 حاسوب محمول 56000
برو102 متحرك 38000
برو103 سماعات الرأس 5000
برو104 التلفاز 25000
برو105 اى باد 60000

الجدول 2: تفاصيل_العملاء

اسم الزبون عنوان العميل CustomerAge معرف المنتج
مارتن جوبتيل سان فرانسيسكو، الولايات المتحدة الأمريكية 26 برو101
جوامع أستراليا 29 برو103
أمباتي ويليامسون نيوزيلندا 27 برو102
جوفرا آرتشر جنوب أفريقيا 24 برو105
فأل إنكلترا 29 برو107
مورغان إنكلترا عشرين برو108

لدينا جدولين: تفاصيل المنتج و ال تفاصيل العميل الجداول. لنكتب استعلامات 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.

بناء الجملة:

 Select * from table_1 cross join table_2; 

أو،

 Select column1, column2, column3 FROM table_1, table_2; 

الجدول 1: تفاصيل_المنتج

بطاقة تعريف اسم المنتج كمية
برو101 حاسوب محمول 56000
برو102 متحرك 38000
برو103 سماعات الرأس 5000
برو104 التلفاز 25000
برو105 اى باد 60000

الجدول 2: تفاصيل_العملاء

اسم الزبون عنوان العميل CustomerAge معرف المنتج
مارتن جوبتيل سان فرانسيسكو، الولايات المتحدة الأمريكية 26 برو101
جوامع أستراليا 29 برو103
أمباتي ويليامسون نيوزيلندا 27 برو102
جوفرا آرتشر جنوب أفريقيا 24 برو105
فأل إنكلترا 29 برو107
مورغان إنكلترا عشرين برو108

لدينا جدولين: تفاصيل المنتج و ال تفاصيل العميل الجداول. لنكتب استعلامات SQL للانضمام إلى الجدول باستخدام ملف ممتلىء انضم على النحو التالي:

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

وبعد تنفيذ الاستعلام يظهر الجدول أدناه.

أنواع SQL JOIN

الانضمام الذاتي

إنها صلة ذاتية تستخدم لإنشاء جدول من خلال ضم نفسه حيث كان هناك جدولين. يقوم بإجراء تسمية مؤقتة لجدول واحد على الأقل في عبارة SQL.

بناء الجملة:

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

الجدول 1 و Tbl2 هناك اسمان مستعاران مختلفان للجدول لنفس الجدول.

الجدول 1: تفاصيل_المنتج

بطاقة تعريف اسم المنتج كمية
برو101 حاسوب محمول 56000
برو102 متحرك 38000
برو103 سماعات الرأس 5000
برو104 التلفاز 25000
برو105 اى باد 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;>