Independent vs Correlated Subqueriesالاستعلام المستقل مقابل المترابط
تعلّم الاستعلامات الفرعية المترابطة ومعامل EXISTS في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة
شرح صفوف ومحتوى الفقرة
الصف 1
شرح توضيحي
في الدرس السابق، كانت الاستعلامات الفرعية مستقلة غير مترابطة؛ إذ ينفّذ المحرك الاستعلام الداخلي مرة واحدة بمعزل عن الخارجي. أما الاستعلام الفرعي المترابط (Correlated Subquery) فيشير داخله إلى عمود أو أكثر من جدول معرّف في الاستعلام الخارجي:
الارتباط بالاسم المستعار الخارجي: نظراً لاعتماد جملة WHERE الداخلية على اسم مستعار خارجي (مثل WHERE o.user_id = u.user_id)، لا يمكن تشغيل الاستعلام الداخلي بمفرده.
التقييم المنطقي لكل صف: منطقياً، تُقيّم نتيجة الاستعلام الداخلي نسبةً إلى كل صف مرشح يفحصه الاستعلام الخارجي.
</>SQL
-- Fetch each customer along with their latest order date
SELECT
u.user_id,
u.full_name,
(
SELECT MAX(o.order_date)
FROM orders AS o
WHERE o.user_id = u.user_id
) AS last_order_date
FROM users AS u;
جميع فقرات هذا الدرس (الاستعلامات الفرعية المترابطة ومعامل EXISTS في MySQL)