انتقل إلى محتوى الدرس

Row by Row Benchmark Comparisons مقارنة الصف بمتوسط مجموعته

تعلّم الاستعلامات الفرعية المترابطة ومعامل EXISTS في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

من أشهر الأنماط التحليلية للاستعلام الفرعي المترابط مقارنة كل صف بمتوسط أو أعلى قيمة داخل مجموعته الخاصة؛ مثل استخراج الموظفين الذين يتجاوز راتبهم متوسط رواتب قسمهم، أو المنتجات الأعلى سعراً من متوسط فئتها:

  • اسمان مستعاران لنفس الجدول: امنح الجدول الخارجي الاسم المستعار p1 والجدول الداخلي الاسم المستعار p2.
  • شرط ربط المجموعة: اربط دالة التجميع الداخلية بفئة الصف الخارجي الحالي عبر الشرط WHERE p2.category_id = p1.category_id.
SQL
-- Find products priced higher than their own category average
SELECT
  p1.product_id,
  p1.category_id,
  p1.product_title,
  p1.unit_price
FROM products AS p1
WHERE p1.unit_price > (
  SELECT AVG(p2.unit_price)
  FROM products AS p2
  WHERE p2.category_id = p1.category_id
);