لربط الموظف بمديره داخل جدول واحد، يجب تتبع اتجاه الإشارة بين الصفين. إذا كان manager_id في صف الموظف يخزن معرّف مديره، فإن الشرط المناسب هو e.manager_id = m.id. يمثل الاسم e الموظف المطلوب عرضه، ويمثل الاسم m صف المدير الذي نبحث عنه.
عكس الشرط إلى e.id = m.manager_id يغير معنى العلاقة. عندها نبحث عن أشخاص يشير عمود مديرهم إلى الموظف الحالي، أي عن مرؤوسيه بدلا من مديره. كذلك لا تكفي مساواة معرّفي الصفين، لأنها تربط الشخص بنفسه بدلا من اتباع العلاقة الإدارية.
مثال
SELECT e.name AS employee_name,
m.name AS manager_name
FROM employees AS e
LEFT JOIN employees AS m
ON e.manager_id = m.id;
يسمح الربط الخارجي بإظهار الموظف الذي لا يملك مديرا، وتكون بيانات المدير فارغة في نتيجته. أما شرط الربط نفسه فيحدد اتجاه العلاقة بصرف النظر عن اختيار نوع الربط.
باختصار: اربط معرّف المدير المخزن في صف الموظف بالمفتاح الأساسي لصف المدير.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.