Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الاستعلامات الفرعية - الجزء الأول

جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 38 من 72.

تتيح لنا الاستعلامات الفرعية (Subqueries) دمج استعلامات متعددة في استعلام واحد. على سبيل المثال، اعتبر جدول <strong>employees</strong> التالي:

idsalary
148
234
346
413
528

نحن بحاجة إلى استعلام فرعي لأنه لا يمكننا استخدام WHERE salary > AVG(salary) مباشرة، حيث لا يمكن استخدام الدوال التجميعية مثل AVG() في بند WHERE - إذ لا يمكن استخدامها إلا بعد تجميع البيانات.

SELECT id, salary
FROM employees
WHERE salary > (
    SELECT AVG(salary)
    FROM employees
);

تساعدنا الاستعلامات الفرعية (subquery) في العثور على الموظفين الذين يتقاضون رواتب أعلى من متوسط الرواتب في الشركة، وذلك عن طريق حساب المتوسط أولاً (الاستعلام الداخلي) ثم استخدام هذه القيمة لتصفية الموظفين (الاستعلام الخارجي).

بما أن المتوسط هو: (48 + 34 + 46 + 13 + 28) / 5 = 33.8، فهذه هي نتيجة الاستعلام:

idsalary
148
234
346
challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>shop</strong>: <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

اكتب استعلامًا للعثور على جميع العناصر (تحديد جميع الأعمدة) التي يكون فيها السعر (price) أعلى من متوسط السعر لجميع العناصر.

استخدم استعلامًا فرعيًا (subquery) في الجملة WHERE لحساب متوسط السعر، ثم قارن سعر كل عنصر بهذا المتوسط.

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات