سلسلة دروس SQL| عبارة JOIN
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
عبارة JOIN في SQL
يتم استخدام عبارة JOIN لدمج الصفوف بين جدولين أو أكثر ، بناءً على عمود مرتبط معهم.
لنلق نظرة على تحديد من جدول “الطلبات”:
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
ثم لننظر إلى تحديد من جدول “العملاء”:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
لاحظ أن عمود “CustomerID” في جدول “الطلبات” يشير إلى “CustomerID” في جدول “العملاء”. العلاقة بين الجدولين أعلاه هي عمود “CustomerID”.
بعد ذلك ، يمكننا إنشاء جملة SQL التالية (التي تحتوي على INNER JOIN) ، التي تحدد السجلات التي تحتوي على قيم متطابقة في كلا الجدولين:
1
2
3
4
5
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
وسينتج لدينا شيئ مثل هذا:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
أنواع مختلفة من SQL JOINs
فيما يلي الأنواع المختلفة من JOINs في SQL:
-
(INNER) JOIN : إرجاع السجلات التي تحتوي على قيم متطابقة في كلا الجدولين
-
LEFT (OUTER) JOIN : إرجاع كافة السجلات من الجدول الأيسر والسجلات المتطابقة من الجدول الأيمن
-
RIGHT (OUTER) JOIN : إرجاع كافة السجلات من الجدول الأيمن والسجلات المتطابقة من الجدول الأيسر
-
FULL (OUTER) JOIN : إرجاع كافة السجلات عند وجود تطابق في الجدول الأيمن أو الأيسر
اختبر نفسك من خلال التمرين التالي:
تمرين :
أدخل الأجزاء المفقودة في JOIN
لينضم الجدولان Orders
و Customers
، أستخدم الحقلCustomerID
كعلاقة بين كلا الجدولين.
1
2
3
4
5
6
7
8
9
SELECT *
FROM Orders
LEFT JOIN Customers
= ;
التالي: عبارة INNER JOIN