عملية Modulo
جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 25 من 72.
يخبرك عامل باقي القسمة % بما يتبقى بعد قسمة رقم على آخر.
dividend % divisor- dividend: العدد الذي يتم تقسيمه.
- divisor: العدد الذي يقسم المقسوم.
على سبيل المثال
10 % 3هنا، يتم تقسيم 10 على 3. الرقم 3 يتكرر في 10 ثلاث مرات، مع بقاء 1. لذا، ستكون قيمة result هي 1.
عادةً ما يُستخدم المعامل modulo للتحقق مما إذا كان الرقم زوجيًا أم فرديًا:
- إذا كان الرقم زوجيًا، فإن قسمته على 2 ستترك باقيًا قدره 0.
- إذا كان الرقم فرديًا، فإن قسمته على 2 ستترك باقيًا قدره 1.
على سبيل المثال، ابحث عن الصفوف ذات الأرقام الزوجية:
SELECT * FROM table WHERE id % 2 = 0;أو للتنقل بشكل دوري عبر القيم:
- number % 12 (تعيد 0-11)
- number % 8 (تعيد 0-7)
على سبيل المثال، قم بتجميع العناصر في مجموعات مكونة من 5:
SELECT item_number % 5 as group_number FROM inventory;التحدي
سهلالجداول والأعمدة المتاحة:
<strong>products</strong>:<strong>id</strong>,<strong>price</strong>,quantity
أنشئ استعلاماً يقوم بما يلي:
- يعرض معرف المنتج (product ID)
- يخصص كل منتج لواحد من ثلاثة فرق لمراقبة الجودة (0، 1، أو 2) بناءً على معرف المنتج باستخدام عامل المودولو (modulo operator)، وقم بتسمية هذا العمود باسم
quality_control - يتضمن فقط المنتجات التي يحتوي فيها عمود الكمية (quantity) على رقم فردي (على سبيل المثال، 1، 3، 5، 7...)
ورقة مرجعية
يعيد عامل باقي القسمة (modulo) % القيمة المتبقية بعد عملية القسمة:
dividend % divisorالاستخدامات الشائعة:
- التحقق من الأرقام الزوجية/الفردية:
number % 2 = 0(زوجي) أوnumber % 2 = 1(فردي) - التنقل الدوري عبر القيم:
number % 12يعيد القيم من 0 إلى 11 - تجميع العناصر:
item_number % 5ينشئ مجموعات من 0 إلى 4
أمثلة:
-- البحث عن الصفوف ذات الأرقام الزوجية
SELECT * FROM table WHERE id % 2 = 0;
-- تجميع العناصر في مجموعات مكونة من 5
SELECT item_number % 5 as group_number FROM inventory;جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2الشروط
أساسيات الشروطالكلمة المفتاحية ANDالكلمة المفتاحية ORالكلمة المفتاحية NOTدمج شروط متعددةالأقواسالقيم المنطقية Booleans3تنسيق محدد للنتائج
قيم Nullترتيب النتائج - الجزء الأولترتيب النتائج - الجزء الثانيمراجعة - شركة للأمن السيبرانيتحديد عدد السجلاتمراجعة - مصنع مركبات6تحديات تمهيدية
مراجعة - الانتخابات البرلمانيةمراجعة - اعتقال الشرطة للمجرمينمراجعة - حاوية مشروبات البارمراجعة - هندسة أعمدة جديدة9جداول متعددة
الربط الأساسي - الجزء الأولالربط الأساسي - الجزء الثانيمراجعة - الربط (Join)الربط الذاتي (Self Join)مراجعة - الربط الذاتي (Self Join)الاتحاد (Union)تبسيط الاستعلامات، الكلمة المفتاحية WITHمراجعة - استعلامات WITHمراجعة - مقاول العقارات12Window Functions الجزء الثاني
دوال RANK و DENSE_RANKمراجعة - RANK و DENSE_RANKدالة NTILEدوال التجميعمعيار ROWS و RANGE