شبكة تعلم مع ناو

ما اتجاه الترتيب الافتراضي في ORDER BY؟

عند استخدام ORDER BY دون كتابة اتجاه الترتيب، يعتمد MySQL الترتيب التصاعدي ASC. بالنسبة إلى الأعداد، يعني ذلك ظهور القيم الأصغر قبل الأكبر. لذلك فإن كتابة ORDER BY price تعطي اتجاه الترتيب نفسه الذي تعطيه ORDER BY price ASC. حذف الكلمة ASC لا يلغي الترتيب ولا يجعله تابعًا لترتيب إدخال الصفوف.

يمكن كتابة ASC صراحة لجعل الاستعلام أوضح للقارئ، خاصة عندما يتعلم الفريق SQL أو يراجع استعلامًا طويلًا. لكن وجودها ليس شرطًا للحصول على الترتيب التصاعدي. يطبق هذا الترتيب على نتيجة الاستعلام فقط، ولا يعيد تنظيم الصفوف المخزنة بطريقة يجب أن تعتمد عليها الاستعلامات اللاحقة.

مثال

CREATE TABLE books_direction_demo (price INT);
INSERT INTO books_direction_demo VALUES (30), (10), (20);
SELECT price FROM books_direction_demo ORDER BY price;

تظهر الأسعار بالترتيب 10 ثم 20 ثم 30، رغم اختلاف ترتيب إدخالها.

باختصار: اتجاه ORDER BY الافتراضي هو ASC، ويمكن كتابته صراحة دون تغيير النتيجة.

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

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.