تحدد OFFSET عدد الصفوف التي يجب تجاوزها قبل بدء إرجاع النتائج. في الصيغة LIMIT 3 OFFSET 2، يتجاوز الاستعلام أول صفين ثم يعرض ثلاثة صفوف كحد أقصى. الرقم بعد OFFSET ليس قيمة معرف، وليس رقم الصف الأول بصيغة تبدأ من واحد، بل هو عدد الصفوف التي تُترك دون عرض.
تُستخدم هذه الصيغة كثيرًا لتقسيم قائمة طويلة إلى صفحات. ومن الأفضل تحديد ترتيب واضح حتى يكون لمعنى الصفوف الأولى والصفوف التالية أساس ثابت. إذا كانت OFFSET تساوي صفرًا، يبدأ العرض من أول صف. وإذا تجاوزت عدد الصفوف المتاحة، تكون النتيجة فارغة. لا تحذف عملية التجاوز الصفوف من الجدول، وإنما تستبعدها من هذه النتيجة فقط.
مثال
CREATE TABLE tasks_offset_demo (id INT);
INSERT INTO tasks_offset_demo VALUES (10), (20), (30), (40), (50);
SELECT id FROM tasks_offset_demo ORDER BY id LIMIT 2 OFFSET 2;
يتجاوز المثال القيمتين 10 و20، ثم يعرض 30 و40.
باختصار: OFFSET تعد الصفوف المتجاوزة، وLIMIT تحدد الحد الأعلى للصفوف التي تليها.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.