عملية INNER JOIN

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

بناء الجملة

FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

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

الجزء

الوصف

table1و table2

أسماء الجداول التي يتم تجميع السجلات منها.

field1و field2

أسماء الحقول المتصلة. إذا لم تكن الحقول رقمية، فينبغي أن تكون من نفس نوع البيانات كما ينبغي أن تحتوي على نفس نوع البيانات، ولكن لا ينبغي أن يكون لها نفس الاسم.

compopr

أي عامل مقارنة علائقي: "=" أو "<" أو ">" أو "<=" أو ">=" أو"<>".


ملاحظات

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

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

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

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

يوضح المثال التالي كيفية ربط الجدولين Categories (فئات) وProducts (منتجات) في الحقل CategoryID (معرّف الفئة):

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

في المثال السابق، يكون CategoryID (معرّف الفئة) هو الحقل المتصل، ولكن لا يتم تضمينه في إخراج الاستعلام لأنه لا يتم تضمينه في جملة SELECT. لتضمين الحقل المتصل، قم بتضمين اسم الحقل في جملة SELECT — في هذه الحالة، Categories.CategoryID.

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

SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1compoprtable2.field1 AND
ON table1.field2compoprtable2.field2) OR
ON table1.field3compoprtable2.field3)];

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

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3compoprtablex.fieldx)]
ON table2.field2compoprtable3.field3)
ON table1.field1compoprtable2.field2;

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



مشاركة Facebook Facebook Twitter Twitter البريد الإلكتروني البريد الإلكتروني

هل كانت المعلومات مفيدة؟

رائع! هل لديك أي ملاحظات أخرى؟

كيف يمكننا تحسين ذلك؟

نشكرك على ملاحظاتك!

×