متى يمكن استخدام USING بدلا من ON في JOIN؟

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

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

الإجابة

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

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

مثال

SELECT a.name, c.country_name
FROM astronauts AS a
INNER JOIN countries AS c
USING (country_id);

يفترض المثال أن العمود المذكور موجود بالاسم نفسه في الجدولين. وعند استخدام SELECT * مع USING، يعرض عمود الربط المشترك مرة واحدة ضمن الأعمدة الناتجة.

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

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

اختبر فهمك

إذا احتوى الجدولان على country_id، فأي عبارة تختصر ON a.country_id = c.country_id؟