شرح صفوف ومحتوى الفقرة
يوضّح الجدول التالي مقارنة شاملة بين معاملات القوائم والنطاقات في MySQL 8 وما يكافئها منطقياً وسلوكها مع القيم الفارغة:
| المعامل | المكافئ المنطقي | سلوك الحدود والقوائم | تأثير وجود NULL |
|---|---|---|---|
x IN (a, b) | x = a OR x = b | يطابق القيم المنفصلة داخل القائمة | ينجح إذا طابقت x أي قيمة غير فارغة |
x NOT IN (a, b) | x <> a AND x <> b | يستبعد جميع القيم المذكورة | يُعيد 0 صفوف دائماً إذا وُجدت NULL بالقائمة |
x BETWEEN a AND b | x >= a AND x <= b | شامل للحدين الأدنى a والأعلى b | يُستبعد الصف إذا كانت x فارغة NULL |
x NOT BETWEEN a AND b | x < a OR x > b | خارج النطاق تماماً | يُستبعد الصف إذا كانت x فارغة NULL |
ملخص الدرس: أتقنت في هذا الدرس استخدام IN و NOT IN للتصفية عبر القوائم، وتجنّب فخ وجود NULL داخل NOT IN، وتصفية النطاقات الرقمية والزمنية الشاملة عبر BETWEEN.
الخطوة التالية والدرس القادم: ننتقل في الدرس القادم إلى البحث الجزئي داخل النصوص ومطابقة الأنماط عبر LIKE والتعابير النمطية REGEXP.
SQL
-- Combine IN list filtering with a BETWEEN price range
SELECT product_id, category, unit_price, stock_qty
FROM products
WHERE category IN ('Monitors', 'Keyboards', 'Audio')
AND unit_price BETWEEN 80.00 AND 400.00;
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنّا في هذا الدرس التصفية ضمن القوائم والنطاقات عبر IN و BETWEEN في MySQL في MySQL 8 مع أمثلة عملية.
الخطوة التالية والدرس القادم
أكمل التدريبات والاختبار التفاعلي أدناه قبل الانتقال إلى الدرس التالي في مسار MySQL.