شرح صفوف ومحتوى الفقرة
يلخّص الجدول التالي الأنماط القياسية لفحص القيم الفارغة وترتيب النتائج وتقسيم الصفحات في MySQL 8:
| النمط / الجملة | مثال الصياغة | السلوك التنفيذي |
|---|---|---|
| فحص غياب القيمة | WHERE col IS NULL | يطابق الصفوف التي تكون فيها قيمة العمود فارغة |
| فحص وجود القيمة | WHERE col IS NOT NULL | يطابق الصفوف التي تحتوي على قيمة مسجلة |
| الترتيب المتعدد | ORDER BY dept ASC, pay DESC | يرتّب بالقسم تصاعدياً ويكسر التعادل بالراتب تنازلياً |
| وضع NULL أخيراً | ORDER BY (col IS NULL), col ASC | يعرض القيم الفعلية أولاً ثم يدفع NULL للنهاية |
| تقسيم الصفحات القياسي | LIMIT 20 OFFSET 40 | يتخطى 40 صفاً ويعرض 20 صفاً (الصفحة الثالثة) |
| التقسيم بالمؤشر Keyset | WHERE id > 500 ORDER BY id LIMIT 20 | يقفز عبر الفهرس مباشرة دون مسح الصفوف المتخطاة |
ملخص الدرس: أتقنت في هذا الدرس فحص القيم الفارغة عبر IS NULL و IS NOT NULL، والترتيب المفرد والمتعدد بجملة ORDER BY، والتحكم في موقع ظهور NULL، وتقسيم الصفحات عبر LIMIT و OFFSET.
الخطوة التالية والدرس القادم: نبدأ في الدرس القادم وحدة تجميع البيانات Data Aggregation بتعلّم الدوال التجميعية الخمس COUNT و SUM و AVG و MIN و MAX.
SQL
-- Complete filter, NULL-last sort, and page-1 query
SELECT order_id, customer_id, shipped_at, total_usd
FROM orders
WHERE order_status = 'paid'
ORDER BY (shipped_at IS NULL) ASC, shipped_at ASC, order_id ASC
LIMIT 15 OFFSET 0;
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنّا في هذا الدرس فحص القيم الفارغة والترتيب بـ ORDER BY وتقسيم الصفحات بـ LIMIT في MySQL 8 مع أمثلة عملية.
الخطوة التالية والدرس القادم
أكمل التدريبات والاختبار التفاعلي أدناه قبل الانتقال إلى الدرس التالي في مسار MySQL.