شرح ORDER BY في SQL

شرح ORDER BY في SQL

شرح ORDER BY في لغة SQL

كلمة ORDER BY الأساسية تُستخدم لترتيب نتائج الاستعلام بترتيب تصاعدي أو تنازلي.

ما هو ORDER BY؟

يُستخدم ORDER BY لفرز مجموعة النتائج بترتيب تصاعدي أو تنازلي. بدون تحديد ORDER BY، لا يوجد ضمان أن تكون السجلات معروضة بترتيب معين. يمكن استخدامه مع أي استعلام SELECT، وأيضًا مع بعض استعلامات JOIN وSUBQUERY لتحقيق ترتيب محدد للبيانات.

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

مثال عملي على ترتيب رقمي

لنفترض أن لدينا جدول "المنتجات" التالي:

ProductID ProductName SupplierID CategoryID Unit Price
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

لفرز المنتجات حسب السعر تصاعديًا:

SELECT * FROM Products
ORDER BY Price ASC;

الترتيب التنازلي باستخدام DESC

لترتيب السجلات من الأعلى سعرًا إلى الأقل، نستخدم DESC:

SELECT * FROM Products
ORDER BY Price DESC;

الترتيب النصي أبجديًا

بالنسبة للقيم النصية، يقوم ORDER BY بترتيبها أبجديًا من A إلى Z بشكل افتراضي:

SELECT * FROM Products
ORDER BY ProductName ASC;

لترتيب النصوص عكسيًا من Z إلى A:

SELECT * FROM Products
ORDER BY ProductName DESC;

الترتيب حسب عدة أعمدة

يمكنك فرز النتائج حسب أكثر من عمود:

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

هذا يعني: ترتيب العملاء تصاعديًا حسب البلد، وتنازليًا حسب الاسم داخل كل بلد.

فرز مخصص مع CASE

يمكنك ترتيب النتائج وفقًا لتسلسل مخصص باستخدام CASE:

SELECT ProductName, CategoryID
FROM Products
ORDER BY CASE CategoryID
WHEN 2 THEN 1
WHEN 1 THEN 2
ELSE 3 END;

ملاحظة: عند عدم تحديد ASC أو DESC، يتم استخدام ASC افتراضيًا.

تمرين

ما هو الغرض من ORDER BY في SQL؟

  • تصفية السجلات بناءً على شرط محدد
  • فرز السجلات بترتيب تصاعدي أو تنازلي
  • دمج الجداول

الإجابة الصحيحة: فرز السجلات بترتيب تصاعدي أو تنازلي

#SQL #قواعد_البيانات #ORDER_BY #لغة_SQL #استعلامات #فرز_البيانات #ترتيب_تصاعدي #ترتيب_تنازلي #تعلم_SQL #برمجة

تعليقات