كيف أختار الأعمدة الصحيحة في شرط JOIN؟

سهلقراءة دقيقةآخر تحديث 3 أكتوبر 2026

SQL قواعد البيانات

الإجابة

يعتمد شرط الربط الصحيح على معنى العلاقة بين الجدولين، وليس على تشابه أسماء الأعمدة فقط. في جدول الطلبات، يحدد id الطلب نفسه، بينما يحدد customer_id العميل الذي يخصه الطلب. لذلك نربط orders.customer_id مع customers.id حتى نصل من الطلب إلى صاحبه.

قد تبدو مقارنة معرّف الطلب بمعرّف العميل معقولة لأن العمودين رقميان، لكنها تربط سجلات لا علاقة منطقية بينها. وإذا تطابقت بعض الأرقام بالمصادفة، فقد يظهر الاستعلام وكأنه يعمل، مع أن النتائج لا تمثل ملكية الطلبات الحقيقية. صحة الصياغة وحدها لا تكفي لإثبات صحة العلاقة.

مثال

SELECT o.id AS order_id, c.name
FROM orders AS o
INNER JOIN customers AS c
  ON o.customer_id = c.id;

قبل كتابة الربط، حدد ما يمثله كل معرّف، ثم تتبع العمود الذي يشير إلى صف في الجدول الآخر، سواء فرضت قاعدة البيانات مفتاحا أجنبيا أم لم تفرضه.

باختصار: اختر أعمدة الربط بحسب العلاقة الفعلية، لا بحسب تشابه الأسماء أو تساوي الأرقام مصادفة.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

يمثل orders.customer_id صاحب الطلب. أي شرط يربط كل طلب بعميله الصحيح؟