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

Scalar Single Value Subqueries الاستعلام الفرعي مفرد القيمة

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

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

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

الاستعلام الفرعي هو جملة SELECT محاطة بقوسين ومتداخلة داخل استعلام SQL خارجي. وأبسط أشكاله هو الاستعلام الفرعي مفرد القيمة (Scalar Subquery) الذي يرجع صفاً واحداً وعموداً واحداً كحد أقصى (قيمة مفردة واحدة):

  • صالح في موضع أي قيمة: لأنه يُقيّم إلى قيمة وحيدة، يمكنك وضعه يمين معاملات المقارنة القياسية (= و> و<) داخل WHERE أو HAVING أو حتى كعمود محسوب في SELECT.
  • قيد القيمة الوحيدة: إذا أرجع الاستعلام الفرعي المفرد أكثر من صف واحد أثناء التنفيذ، يوقف MySQL الاستعلام فوراً بالخطأ رقم 1242.
مخطط أشكال الاستعلامات الفرعية ومواضعها مع IN و ANY و ALL والجداول المشتقة في MySQL 8
SQL
-- Find products priced higher than the overall catalog average
SELECT
  product_id,
  product_title,
  unit_price
FROM products
WHERE unit_price > (
  SELECT AVG(unit_price)
  FROM products
)
ORDER BY unit_price DESC;