عندما نربط جدولا رئيسيا بجدولين تابعين مستقلين، فقد تتكون جميع التركيبات بين مطابقات الطرفين لكل صف رئيسي. مثلا، يمكن أن يكون للموظف مهمتان وحدثان. إذا ربطنا المهام والأحداث بالموظف فقط، فكل مهمة تقترن بكل حدث لهذا الموظف، فتظهر أربعة صفوف في النتيجة.
لا يعني وجود المعرّف نفسه في المهمة والحدث أنهما مرتبطان ببعضهما. العلاقة المكتوبة في الاستعلام تربط كل طرف بالموظف، ولا تربط المهمة بحدث معين. لذلك يجب قراءة شروط ON كلها قبل تفسير الصف الناتج، خصوصا عندما يحتوي التقرير على عدة علاقات من نوع واحد إلى متعدد.
مثال
SELECT e.id, t.id AS task_id, v.id AS event_id
FROM employees AS e
INNER JOIN tasks AS t ON t.employee_id = e.id
INNER JOIN events AS v ON v.employee_id = e.id;
إذا كان للموظف ثلاث مهام وأربعة أحداث، فإن مساهمته تكون اثني عشر صفا. أما إذا غابت مطابقات أحد الطرفين في هذا المثال الداخلي، فلن يظهر الموظف.
باختصار: الربطان المستقلان يجمعان كل مطابقة من الطرف الأول مع كل مطابقة من الطرف الثاني للصف الرئيسي نفسه.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.