انتقل إلى محتوى الدرس

Writing Self Joins with Aliases الربط الذاتي بالأسماء المستعارة

تعلّم الربط التبادلي CROSS JOIN والربط الذاتي SELF JOIN في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لا توجد كلمة مفتاحية مستقلة باسم SELF JOIN في لغة SQL؛ بل يُكتب الربط الذاتي باستخدام INNER JOIN أو LEFT JOIN العادي لربط الجدول بنفسه، مع شرط إلزامي هو منح الجدول اسمين مستعارين مختلفين:

  • إلزامية الأسماء المستعارة: تؤدي كتابة FROM employees JOIN employees بدون أسماء مستعارة إلى توقف الاستعلام بالخطأ رقم 1066 لتكرار اسم الجدول.
  • اختيار الربط الداخلي أو الأيسر: استخدم INNER JOIN لعرض الموظفين الذين لديهم مدير فقط، واستخدم LEFT JOIN مع COALESCE() لإظهار المدير العام أو الأقسام الجذرية التي تكون قيمة manager_id فيها NULL.
SQL
-- Pair every employee (e) with their manager (m) via Self Join
SELECT
  e.emp_id,
  e.emp_name AS employee_name,
  COALESCE(m.emp_name, 'Executive Board') AS manager_name
FROM employees AS e
LEFT JOIN employees AS m
  ON e.manager_id = m.emp_id
ORDER BY e.emp_id;