الاستعلامات الفرعية - الجزء الأول
جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 38 من 72.
تتيح لنا الاستعلامات الفرعية (Subqueries) دمج استعلامات متعددة في استعلام واحد. على سبيل المثال، اعتبر جدول <strong>employees</strong> التالي:
| id | salary |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
نحن بحاجة إلى استعلام فرعي لأنه لا يمكننا استخدام 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، فهذه هي نتيجة الاستعلام:
| id | salary |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
التحدي
سهلالجداول والأعمدة المتاحة:
<strong>shop</strong>:<strong>price</strong>,<strong>quantity</strong>,<strong>category</strong>,<strong>list_date</strong>
اكتب استعلامًا للعثور على جميع العناصر (تحديد جميع الأعمدة) التي يكون فيها السعر (price) أعلى من متوسط السعر لجميع العناصر.
استخدم استعلامًا فرعيًا (subquery) في الجملة WHERE لحساب متوسط السعر، ثم قارن سعر كل عنصر بهذا المتوسط.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2الشروط
أساسيات الشروطالكلمة المفتاحية ANDالكلمة المفتاحية ORالكلمة المفتاحية NOTدمج شروط متعددةالأقواسالقيم المنطقية Booleans3تنسيق محدد للنتائج
قيم Nullترتيب النتائج - الجزء الأولترتيب النتائج - الجزء الثانيمراجعة - شركة للأمن السيبرانيتحديد عدد السجلاتمراجعة - مصنع مركبات6تحديات تمهيدية
مراجعة - الانتخابات البرلمانيةمراجعة - اعتقال الشرطة للمجرمينمراجعة - حاوية مشروبات البارمراجعة - هندسة أعمدة جديدة9جداول متعددة
الربط الأساسي - الجزء الأولالربط الأساسي - الجزء الثانيمراجعة - الربط (Join)الربط الذاتي (Self Join)مراجعة - الربط الذاتي (Self Join)الاتحاد (Union)تبسيط الاستعلامات، الكلمة المفتاحية WITHمراجعة - استعلامات WITHمراجعة - مقاول العقارات12Window Functions الجزء الثاني
دوال RANK و DENSE_RANKمراجعة - RANK و DENSE_RANKدالة NTILEدوال التجميعمعيار ROWS و RANGE