ترتب ORDER BY في Oracle الصفوف المعروضة. تستخدم ASC للتصاعد وDESC للتنازل، ويمكن تحديد موضع القيم NULL صراحة بدل الاعتماد على السلوك الافتراضي للأداة أو قاعدة البيانات.
تستخدم الأمثلة جداول التدريب في درس إنشاء جداول وبيانات تدريب Oracle. نفّذ إعدادها مرة واحدة في مخطط تدريب قبل الاستعلامات، حتى تتطابق أسماء الأعمدة والنتائج.
مثال SQL قابل للنسخ
SELECT emp_id, emp_name, salary
FROM gc_employees
ORDER BY salary ASC NULLS LAST, emp_id;
SELECT emp_id, emp_name, salary
FROM gc_employees
ORDER BY salary DESC NULLS LAST, emp_id;ترتيب بيانات التدريب
مع ASC وNULLS LAST تظهر المعرفات بالترتيب 7 و3 و1 و4 و6 و2 و5. ومع DESC وNULLS LAST يصبح الترتيب 2 و6 و1 و4 و3 و7 و5. يبقى الراتب المجهول في النهاية في المثالين.
كسر التعادل
يتساوى راتب الموظفين 1 و4، لذلك أضفنا emp_id مفتاحًا ثانيًا للترتيب. يضمن هذا ترتيبًا محددًا بينهما. عند تقسيم النتائج إلى صفحات أو جلب أول عدد من الصفوف، يساعد مفتاح فريد أخير على استقرار الترتيب عندما تتساوى القيم الأساسية.
الترتيب ليس تعديلًا
لا تعيد ORDER BY تخزين الجدول بهذا التسلسل، ولا توجد نتيجة مرتبة مضمونة دونها. في Oracle يكون موضع NULL الافتراضي مختلفًا بين التصاعد والتنازل؛ استخدم NULLS FIRST أو NULLS LAST عندما يكون الموضع جزءًا من متطلبات التقرير.
الصور والفيديو من الشرح السابق
الكود النصي أعلاه هو النسخة المصححة؛ قد تختلف المواد المرئية السابقة في أسماء المتغيرات أو طريقة التشغيل.







