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

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

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

تتيح لنا الاستعلامات الفرعية دمج عدة استعلامات في استعلام واحد. على سبيل المثال، ضع في اعتبارك جدول <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
);

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

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

idsalary
148
234
346
challenge icon

التحدي

سهل

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

  • shop: price، quantity، category، list_date

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

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

جرّب بنفسك

quiz iconاختبر نفسك

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

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

تدرّب بنفسك: Playground لـ SQL