ما الفرق بين LIMIT 0 وOFFSET 0؟

متوسطقراءة دقيقةآخر تحديث 2 أكتوبر 2026

SQL قواعد البيانات

الإجابة

يؤدي وضع الصفر في LIMIT إلى طلب صفر من صفوف البيانات، فتكون النتيجة خالية من الصفوف حتى لو احتوى الجدول على بيانات كثيرة. أما OFFSET 0 فتعني عدم تجاوز أي صف في البداية، ولذلك يمكن أن يعرض الاستعلام نتائج عادية بحسب العدد المحدد في LIMIT. موضع الصفر هو الذي يحدد معناه.

هذا الفرق مهم عند بناء استعلامات الصفحات من قيم يرسلها التطبيق. حجم صفحة يساوي صفرًا يختلف تمامًا عن بدء الصفحة الأولى من إزاحة صفر. كما لا تعني LIMIT 0 إلغاء الحد أو عرض جميع الصفوف. تظل أعمدة النتيجة معرفة، لكن لا توجد صفوف بيانات ضمنها. قراءة الكلمة التي تسبق الرقم تمنع تفسير كل ظهور للصفر بالطريقة نفسها.

مثال

CREATE TABLE tasks_zero_demo (id INT);
INSERT INTO tasks_zero_demo VALUES (1), (2), (3);
SELECT id FROM tasks_zero_demo ORDER BY id LIMIT 0;
SELECT id FROM tasks_zero_demo ORDER BY id LIMIT 2 OFFSET 0;

باختصار: LIMIT 0 تمنع إرجاع الصفوف، بينما OFFSET 0 تبدأ العرض من أول صف.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

كم صفًا يعرض كل من الاستعلامين، بالترتيب؟

CREATE TABLE tasks_zero_quiz (id INT);
INSERT INTO tasks_zero_quiz VALUES (1), (2), (3);
SELECT id FROM tasks_zero_quiz ORDER BY id LIMIT 0;
SELECT id FROM tasks_zero_quiz ORDER BY id LIMIT 2 OFFSET 0;