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

SQL Execution Pipeline Summary جدول مراحل تنفيذ الاستعلام

جدول مرجعي شامل للمراحل الثماني لتنفيذ استعلام SELECT في MySQL 8 مع صلاحية الأسماء المستعارة.
1 صفوف تعليمية
MySQL
8 مشاهدة

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

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

يلخّص الجدول التالي المراحل الثماني للتنفيذ المنطقي لاستعلام SELECT في MySQL 8 مرتبةً حسب تسلسل تنفيذها الفعلي داخل المحرك:

ترتيب التنفيذجملة SQLالوظيفة الأساسية للمرحلةهل ترى أسماء SELECT المستعارة؟
1FROMتحديد الجدول المصدر والأسماء المستعارة للجداوللا
2WHEREتصفية الصفوف الفردية الخام قبل التجميعلا (تُطلق خطأ 1054)
3GROUP BY [WITH ROLLUP]تقسيم المجموعات وتوليد المجاميع التراكميةنعم (ميزة في MySQL)
4HAVINGتصفية المجموعات بناءً على نتائج الدوال التجميعيةنعم (ميزة في MySQL)
5SELECTحساب التعابير والدوال وتعريف الأسماء المستعارة للأعمدةتُعرَّف في هذه المرحلة
6DISTINCTإزالة الصفوف المتطابقة المكررة من النتيجةنعم
7ORDER BYترتيب الصفوف النهائية تصاعدياً أو تنازلياًنعم (قياسي عالمياً)
8LIMIT / OFFSETاقتطاع شريحة الصفحة المطلوبة وإرسالها للعميلتقبل أعداداً صحيحة

ملخص الدرس: أتقنت في هذا الدرس توليد المجاميع الفرعية والعامة عبر WITH ROLLUP، وتمييز صفوف المجموع التراكمي بدالة GROUPING()، وفهم المسار المنطقي الكامل لتنفيذ استعلامات SQL من FROM حتى LIMIT.
الخطوة التالية والدرس القادم: ننتقل في الوحدة القادمة (الدوال المدمجة Built-In Functions) إلى معالجة النصوص والأرقام والتواريخ والتعابير الشرطية في MySQL 8.

SQL
-- Complete rollup report sorted with grand total last
SELECT dept_id,
       GROUPING(dept_id) AS is_grand_total,
       COUNT(*)          AS staff_count,
       SUM(salary)       AS dept_payroll
FROM employees
WHERE is_active = 1
GROUP BY dept_id WITH ROLLUP
ORDER BY GROUPING(dept_id) ASC, dept_id ASC;
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنّا في هذا الدرس المجاميع الفرعية عبر ROLLUP والترتيب المنطقي لتنفيذ الاستعلام في MySQL 8 مع أمثلة عملية.

الخطوة التالية والدرس القادم

أكمل التدريبات والاختبار التفاعلي أدناه قبل الانتقال إلى الدرس التالي في مسار MySQL.