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

Matching Value Lists with IN البحث ضمن قائمة بـ IN

استبدل سلاسل OR الطويلة بقائمة قيم مرتبة ومختصرة باستخدام المعامل IN.
1 صفوف تعليمية
MySQL
7 مشاهدة

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

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

يختبر المعامل IN ما إذا كانت قيمة العمود تطابق أي عنصر داخل قائمة من القيم المفصولة بفواصل.

  • اختصار الشيفرة ومنع الأخطاء: كتابة WHERE status IN ('paid', 'shipped', 'delivered') أنظف وأقل عرضة للخطأ من تكرار جمل OR المتتالية.
  • تحسين البحث الثنائي: عندما تكون عناصر القائمة قيماً ثابتة، يرتّبها محرك MySQL في الذاكرة وينفذ بحثاً ثنائياً سريعاً بدلاً من الفحص الخطي التقليدي.

احرص على توافق نوع بيانات القيم المكتوبة داخل القائمة مع نوع العمود ليستفيد محرك InnoDB من الفهارس بكفاءة.

التصفية ضمن القوائم والنطاقات الشاملة عبر IN و BETWEEN

يرتّب محرك MySQL قوائم IN الثابتة للبحث الثنائي السريع، ويشمل BETWEEN الحدين الأدنى والأعلى
مخطط توضيحي لدرس التصفية ضمن القوائم والنطاقات عبر IN و BETWEEN في MySQL
مخطط توضيحي لدرس التصفية ضمن القوائم والنطاقات عبر IN و BETWEEN في MySQL
SQL
-- Match orders in any of three active fulfillment states
SELECT order_id, customer_id, order_status, total_usd
FROM orders
WHERE order_status IN ('paid', 'packing', 'shipped');