سلسلة دروس SQL| عبارة INNER JOIN
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
عبارة INNER JOIN في SQL
العبارة INNER JOIN
تُسجّل القيم المتطابقة في كلا الجدولين
بناء عبارة INNER JOIN
1
2
3
4
5
6
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
استعراض قاعدة البيانات
سنستخدم قاعدة البيانات النموذجية Northwind المعروفة.
فيما يلي تحديد من جدول “Orders”:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
وتحديد من جدول “Customers”:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
مثال على INNER JOIN
تُحدِّد عبارة SQL التالية جميع الطلبات التي تحتوي على معلومات العملاء:
1
2
3
4
5
6
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
ملاحظة: يحدد الكود INNER JOIN جميع الصفوف من كلا الجدولين طالما هناك تطابق بين الأعمدة. إذا كانت هناك سجلات في جدول “الطلبات” لا تحتوي على تطابقات في “العملاء” ، فلن يتم عرض هذه الطلبات!
ربط ثلاثة جداول
تحدد عبارة SQL التالية جميع الطلبات التي تحتوي على معلومات العميل والمرسل:
1
2
3
4
5
6
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
التالي: عبارة LEFT JOIN
هذا المنشور تحت ترخيص
CC BY 4.0
بواسطة المؤلف.