في لغة SQL، تُستخدم خاصية ORDER BY
لترتيب نتائج الاستعلام (الصفوف المُسترجعة) بناءً على عمود واحد أو أكثر. تُتيح لك هذه الخاصية عرض البيانات بترتيب مُعين، سواء كان تصاعديًا (ASC) أو تنازليًا (DESC).
الصيغة العامة:
SELECT column1, column2, ...FROM table_nameWHERE conditionORDER BY column_name1 [ASC|DESC], column_name2 [ASC|DESC], ...;
SELECT
: تحديد الأعمدة التي سيتم استرجاعها.FROM
: تحديد الجدول الذي سيتم استرجاع البيانات منه.WHERE
: (اختياري) تحديد الشروط التي يجب أن تستوفيها الصفوف ليتم تضمينها في النتائج.ORDER BY
: تحديد العمود أو الأعمدة التي سيتم ترتيب النتائج بناءً عليها.ASC
: (اختياري) ترتيب تصاعدي (من الأصغر إلى الأكبر، أو من A إلى Z). هذا هو الترتيب الافتراضي إذا لم يتم تحديد أي ترتيب.DESC
: (اختياري) ترتيب تنازلي (من الأكبر إلى الأصغر، أو من Z إلى A).
شرح المُكونات:
column_name1, column_name2, ...
: أسماء الأعمدة التي سيتم ترتيب النتائج بناءً عليها. يُمكن ترتيب النتائج بناءً على عمود واحد أو أكثر. إذا تم تحديد أكثر من عمود، سيتم ترتيب النتائج أولاً بناءً على العمود الأول، ثم بناءً على العمود الثاني داخل المجموعات المتساوية في العمود الأول، وهكذا.ASC|DESC
: تحديد اتجاه الترتيب لكل عمود. إذا لم يتم تحديد أي اتجاه، يُعتبر الترتيب تصاعديًا (ASC
).
أمثلة:
لنفترض أن لدينا جدولًا باسم Customers
يحتوي على الأعمدة التالية: CustomerID
، FirstName
، LastName
، City
.
- ترتيب العملاء أبجديًا حسب الاسم الأخير:
SELECT *FROM CustomersORDER BY LastName ASC;
سيُرجع هذا الاستعلام جميع العملاء مُرتبين أبجديًا حسب الاسم الأخير.
- ترتيب العملاء تنازليًا حسب
CustomerID
:
SELECT *FROM CustomersORDER BY CustomerID DESC;
سيُرجع هذا الاستعلام جميع العملاء مُرتبين تنازليًا حسب CustomerID
.
- ترتيب العملاء حسب المدينة ثم حسب الاسم الأخير:
SELECT *FROM CustomersORDER BY City ASC, LastName ASC;
سيُرجع هذا الاستعلام جميع العملاء مُرتبين أبجديًا حسب المدينة، ثم داخل كل مدينة سيتم ترتيبهم أبجديًا حسب الاسم الأخير.
- استخدام
WHERE
معORDER BY
:
SELECT *FROM CustomersWHERE City = 'New York'ORDER BY LastName DESC;
سيُرجع هذا الاستعلام جميع العملاء الذين يعيشون في مدينة نيويورك، مُرتبين تنازليًا حسب الاسم الأخير.
ملاحظات هامة:
- تأتي عبارة
ORDER BY
دائمًا في نهاية الاستعلام، بعد عباراتSELECT
،FROM
، وWHERE
. - يُمكن استخدام
ORDER BY
مع أنواع البيانات المختلفة، مثل النصوص والأرقام والتواريخ. - يُمكن استخدام
ORDER BY
مع الدوال والتعبيرات. على سبيل المثال، يُمكن ترتيب النتائج بناءً على طول نص معين أو نتيجة عملية حسابية. - في حالة وجود قيم فارغة (NULL) في العمود الذي يتم الترتيب بناءً عليه، يختلف سلوك قواعد البيانات المختلفة في كيفية التعامل معها. في بعض قواعد البيانات، تُعتبر القيم الفارغة أصغر من أي قيمة أخرى، بينما في قواعد بيانات أخرى تُعتبر أكبر قيمة.
باختصار، تُعتبر خاصية ORDER BY
أداة قوية وضرورية في SQL لترتيب نتائج الاستعلام وعرض البيانات بشكل مُنظم وواضح.