دمج سجلات الجدول المصدر عند استخدامها في عبارة FROM.
بناء الجملة
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2تتكون عمليتا LEFT JOIN وRIGHT JOIN من الأجزاء التالية:
الجزء |
الوصف |
table1 وtable2 |
أسماء الجداول التي يتم ضم السجلات منها. |
field1 وfield2 |
أسماء الحقول المنضمة. يجب أن تكون الحقول من نفس نوع البيانات ويجب أن تحتوي على نفس نوع البيانات، ولكن يجب ألا يكون لها نفس الاسم. |
compopr |
أي عامل تشغيل مقارنة ارتباطي: "=" أو "<" أو ">" أو "<=" أو ">=" أو"<>". |
ملاحظات
استخدم عملية LEFT JOIN لإنشاء صلة خارجية يسرى. تتضمن الصلات الخارجية اليسرى كل السجلات من الجدول الأول (الأيمن)، حتى إذا لم يكن هناك قيم مطابقة للسجلات الموجودة في الجدول الثاني (الأيسر).
استخدم عملية RIGHT JOIN لإنشاء صلة خارجية يمنى. تتضمن الصلات الخارجية اليمنى كل السجلات من الجدول الثاني (الأيمن)، حتى إذا لم يكن هناك قيم مطابقة للسجلات الموجودة في الجدول الأول (الأيسر).
على سبيل المثال، يمكنك استخدام LEFT JOIN مع الجدولين الأقسام (على الجانب الأيسر) والموظفين (على الجانب الأيمن) لتحديد كل الأقسام، بما في ذلك تلك التي لا تتضمن موظفين معينين إليها. لتحديد كافة الموظفين، بما في ذلك الأشخاص الذين لم يتم تعيينهم إلى قسم، ستستخدم RIGHT JOIN.
يوضح المثال التالي كيف يمكنك الانضمام إلى جداول الفئات والمنتجات في حقل CategoryID. ينتج الاستعلام قائمة بجميع الفئات، بما في ذلك تلك التي لا تحتوي على منتجات:
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
في هذا المثال، يعتبر CategoryID هو الحقل المرتبط، ولكنه لم يتم تضمينه في نتائج الاستعلام نظراً لأنه لم يتم تضمينه في جملة SELECT. لتضمين الحقل المرتبط، أدخل اسم الحقل في جملة SELECT — بهذه الحالة، Categories.CategoryID.
لإنشاء استعلام يتضمن فقط السجلات التي بها تكون البيانات الموجودة في الحقول المرتبطة نفسها، استخدم عملية INNER JOIN.
-
يمكن أن يتداخل LEFT JOIN أو RIGHT JOIN في INNER JOIN، ولكن لا يمكن أن يتداخل INNER JOIN في LEFT JOIN أو RIGHT JOIN. راجع مناقشة التداخل حول موضوع INNER JOIN لمعرفة كيف يمكن أن تتداخل الصلات غيرها.
-
يمكنك ربط عبارات ON متعددة. راجع مناقشة ربط العبارات في الموضوع INNER JOIN للاطلاع على كيفية إجراء ذلك.
إذا حاولت ربط حقول تحتوي على بيانات عنصر OLE أو مذكرة عنصر، فسيحدث خطأ.