عملية INNER JOIN

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

تضم سجلات واردة من جدولين عند وجود قيم مطابقة في حقل مشترك.

بناء الجملة

FROM table1 INNER JOIN table2 ON table1. field1compopr table2. field2

تتكون عملية INNER JOIN "الصلة الداخلية" من الأجزاء التالية:

الجزء الوصف
table1 وtable2 أسماء الجداول التي يتم ضم السجلات منها.
field1 وfield2 أسماء الحقول المنضمة. إذا لم تكن رقمية، يجب أن تكون الحقول من نفس نوع البيانات وأن تحتوي على نفس نوع البيانات، ولكن ليس من الضروري أن يكون لها نفس الاسم.
compopr أي عامل مقارنة ارتباطي: "=" أو "<" أو ">" أو "<=" أو "=" أو<> ">"."

      

ملاحظات

يمكنك استخدام عملية INNER JOIN في أي عبارة FROM. وهذا هو النوع الأكثر شيوعاً من الصلات. تضم الصلات الداخلية من جدولين عند وجود قيم مطابقة في حقل مشترك في الجدولين.

يمكنك استخدام INNER JOIN مع جداول الأقسام والموظفين لتحديد كافة الموظفين في كل قسم. في المقابل، لتحديد جميع الأقسام (حتى إذا لم يكن لدى بعضها أي موظفين معينين لهم) أو جميع الموظفين (حتى إذا لم يتم تعيين بعضها إلى قسم)، يمكنك استخدام عملية LEFT JOIN أو RIGHT JOIN لإنشاء صلة خارجية.

إذا حاولت ربط حقول تحتوي على بيانات OLE أو مذكرة أو عنصر، يحدث خطأ.

يمكنك ربط حقلين عددين من أنواع مشابهة. على سبيل المثال، يمكنك ربط حقول ترقيم تلقائي وحقول طويلة لأنها من أنواع مشابهة. ومع ذلك، يتعذر ربط أنواع الحقول "فردي" و"مزدوج".

يوضح المثال التالي كيف يمكنك ربط جداول "الفئات" و"المنتجات" في حقل "CategoryID":

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

في المثال السابق، CategoryID هو حقل الصلة، ولكنه غير مضمن في ناتج الاستعلام نظراً لأنه غير مضمن في جملة SELECT. لتضمين الحقل المنضم، قم بتضمين اسم الحقل في عبارة SELECT — في هذه الحالة، Categories.CategoryID.

يمكنك أيضاً ربط عدة عبارات ON في جملة JOIN باستخدام بناء الجملة التالي:

تحديد الحقول
FROM table1 INNER JOIN table2
في الجدول 1. field1compoprtable2. field1 و
في الجدول 1. field2compoprtable2. field2) او
في الجدول 1. field3compoprtable2. field3)];

يمكنك أيضاً تضمين جُمل JOIN باستخدام بناء الجملة التالي:

تحديد الحقول
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
في الجدول 3. field3compoprtablex. fieldx)]
في الجدول 2. field2compoprtable3. field3)
في الجدول 1. field1compoprtable2. field2;

يمكن إدخال LEFT JOIN أو RIGHT JOIN في INNER JOIN، ولكن لا يمكن إدخال INNER JOIN في LEFT JOIN أو RIGHT JOIN.