لماذا يحتاج الاستعلام الفرعي داخل FROM إلى اسم مستعار في MySQL؟

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

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

الإجابة

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

يأتي الاسم المستعار بعد القوس الذي يغلق الاستعلام الفرعي. تستطيع كتابة AS قبله أو حذف هذه الكلمة، لكن حذف الاسم نفسه يؤدي إلى خطأ. يجب أيضًا أن تكون الأعمدة التي يحتاج إليها الاستعلام الخارجي موجودة ضمن نتيجة الاستعلام الداخلي، لأن الجدول المشتق لا يكشف تلقائيًا جميع أعمدة مصادره الأصلية.

مثال

SELECT totals.order_count
FROM (
  SELECT 3 AS order_count
) AS totals;

الاسم totals هنا يعرّف مصدر البيانات، بينما order_count يعرّف عمودًا في نتيجته. لا يؤدي أي منهما إلى إنشاء جدول دائم أو حفظ البيانات بعد انتهاء الاستعلام.

باختصار: أعطِ كل استعلام فرعي داخل FROM اسمًا مستعارًا، ثم استخدم الأعمدة التي يعيدها بوصفها أعمدة جدول مشتق.

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

اختبر فهمك

ما التصحيح المطلوب لهذا الاستعلام في MySQL 8؟

SELECT x
FROM (SELECT 5 AS x);