- عندما نريد فرز السجلات بناء على الأعمدة المخزنة في جداول قاعدة بيانات SQL، فإننا نفكر في استخدام جملة ORDER BY في SQL.
- تساعدنا عبارة ORDER BY في SQL على فرز السجلات بناءً على عمود معين في الجدول. هذا يعني أنه في البداية، سيتم فرز جميع القيم المخزنة في العمود الذي نطبق عليه جملة ORDER BY. بعد ذلك سيتم عرض قيم الأعمدة المقابلة بنفس التسلسل الذي تم به الحصول على القيم التي حصلنا عليها في الخطوة السابقة.
- باستخدام جملة ORDER BY، يمكننا فرز السجلات بترتيب تصاعدي أو تنازلي حسب متطلباتنا. سيتم فرز السجلات بترتيب تصاعدي كلما تم استخدام الكلمة الأساسية ASC مع جملة ORDER by. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي . إذا لم يتم تحديد كلمة رئيسية بعد العمود الذي يتعين علينا فرز السجلات بناءً عليه، ففي هذه الحالة، سيتم الفرز افتراضيًا بترتيب تصاعدي.
قبل كتابة الاستعلامات لفرز السجلات، دعونا نفهم بناء الجملة.
بناء الجملة لفرز السجلات بترتيب تنازلي:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
دعونا نستكشف المزيد حول هذا الموضوع بمساعدة الأمثلة. سوف نستخدم قاعدة بيانات MySQL لكتابة الاستعلامات في الأمثلة.
لنفترض أن لدينا جدول عملاء يحتوي على السجلات التالية:
بطاقة تعريف | اسم | عمر | عنوان | مرتب |
---|---|---|---|---|
1 | هيماني جوبتا | واحد وعشرين | مودي نجار | 22000 |
2 | شيفا تيواري | 22 | بوبال | 21000 |
3 | اجيت بهارجاف | أربعة خمسة | ميروت | 65000 |
4 | ريتيش ياداف | 36 | ازامجاره | 26000 |
5 | بالوانت سينغ | أربعة خمسة | فاراناسي | 36000 |
6 | ماهيش شارما | 26 | ماثورا | 22000 |
7 | روهيت سريفاستافا | 19 | أحمد آباد | 38000 |
8 | نيرو شارما | 29 | بيون | 40000 |
9 | عكاش ياداف | 32 | مومباي | 43500 |
10 | Sahil Sheikh | 35 | اورانجاباد | 68800 |
مثال 1:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لأسماء العملاء المخزنة في جدول العملاء.
استفسار:
mysql> SELECT *FROM customers ORDER BY Name DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'الاسم' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
بطاقة تعريف | اسم | عمر | عنوان | مرتب |
---|---|---|---|---|
2 | شيفا تيواري | 22 | بوبال | 21000 |
10 | Sahil Sheikh | 35 | اورانجاباد | 68800 |
7 | روهيت سريفاستافا | 19 | أحمد آباد | 38000 |
4 | ريتيش ياداف | 36 | ازامجاره | 26000 |
8 | نيرو شارما | 29 | بيون | 40000 |
6 | ماهيش شارما | 26 | ماثورا | 22000 |
1 | هيماني جوبتا | واحد وعشرين | مودي نجار | 22000 |
5 | بالوانت سينغ | أربعة خمسة | فاراناسي | 36000 |
3 | اجيت بهارجاف | أربعة خمسة | ميروت | 65000 |
9 | عكاش ياداف | 32 | مومباي | 43500 |
يتم عرض كافة السجلات الموجودة في جدول العملاء بالترتيب التنازلي لاسم العميل.
مثال 2:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي للعناوين المخزنة في جدول العملاء.
استفسار:
mysql> SELECT *FROM customers ORDER BY Address DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على عمود 'العنوان' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
بطاقة تعريف | اسم | عمر | عنوان | مرتب |
---|---|---|---|---|
5 | بالوانت سينغ | أربعة خمسة | فاراناسي | 36000 |
8 | نيرو شارما | 29 | بيون | 40000 |
9 | عكاش ياداف | 32 | مومباي | 43500 |
1 | هيماني جوبتا | واحد وعشرين | مودي نجار | 22000 |
3 | اجيت بهارجاف | أربعة خمسة | ميروت | 65000 |
6 | ماهيش شارما | 26 | ماثورا | 22000 |
2 | شيفا تيواري | 22 | بوبال | 21000 |
4 | ريتيش ياداف | 36 | ازامجاره | 26000 |
10 | Sahil Sheikh | 35 | اورانجاباد | 68800 |
7 | روهيت سريفاستافا | 19 | أحمد آباد | 38000 |
يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لعنوان العميل.
مثال 3:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لراتب العميل المخزن في جدول العملاء.
استفسار:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Salary' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
بطاقة تعريف | اسم | عمر | عنوان | مرتب |
---|---|---|---|---|
10 | Sahil Sheikh | 35 | اورانجاباد | 68800 |
3 | اجيت بهارجاف | أربعة خمسة | ميروت | 65000 |
9 | عكاش ياداف | 32 | مومباي | 43500 |
8 | نيرو شارما | 29 | بيون | 40000 |
7 | روهيت سريفاستافا | 19 | أحمد آباد | 38000 |
5 | بالوانت سينغ | أربعة خمسة | فاراناسي | 36000 |
4 | ريتيش ياداف | 36 | ازامجاره | 26000 |
6 | ماهيش شارما | 26 | ماثورا | 22000 |
1 | هيماني جوبتا | واحد وعشرين | مودي نجار | 22000 |
2 | شيفا تيواري | 22 | بوبال | 21000 |
يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لراتب العميل.
مثال 4:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لعمر العميل المخزنة في جدول العملاء.
استفسار:
mysql> SELECT *FROM customers ORDER BY Age DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'العمر' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
بطاقة تعريف | اسم | عمر | عنوان | مرتب |
---|---|---|---|---|
3 | اجيت بهارجاف | أربعة خمسة | ميروت | 65000 |
5 | بالوانت سينغ | أربعة خمسة | فاراناسي | 36000 |
4 | ريتيش ياداف | 36 | ازامجاره | 26000 |
10 | Sahil Sheikh | 35 | اورانجاباد | 68800 |
9 | عكاش ياداف | 32 | مومباي | 43500 |
8 | نيرو شارما | 29 | بيون | 40000 |
6 | ماهيش شارما | 26 | ماثورا | 22000 |
2 | شيفا تيواري | 22 | بوبال | 21000 |
1 | هيماني جوبتا | واحد وعشرين | مودي نجار | 22000 |
7 | روهيت سريفاستافا | 19 | أحمد آباد | 38000 |
يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لعمر العميل.
لنفترض أن لدينا جدولًا آخر باسم الوكلاء يحتوي على السجلات التالية:
يساعد | اسم | منطقة العمل | Profit_Percent | رقم الاتصال | مرتب |
---|---|---|---|---|---|
1 | جوربريت سينغ | بنغالور | 1 | 9989675432 | 43000 |
2 | ساكشي كوماري | تشيناي | 5 | 8190567342 | 25000 |
3 | براتشي ديساي | مومباي | 2 | 9056123432 | 60000 |
4 | شيفاني المزيد | بيون | 3 | 8894236789 | 35500 |
5 | بالافي سينغ | دلهي | 4 | 7798092341 | 38700 |
6 | روهيني كولكارني | امبالا | 8 | 7890945612 | 25670 |
7 | قالت شويتا | شانديغار | 6 | 8898786453 | 31670 |
8 | سوناكشي تيواري | أودايبور | 2 | 9809453421 | 25050 |
9 | أنوشكا تريباثي | على أصابعك | 9 | 8909124326 | 38000 |
10 | ديفيكا شارما | جوا | 7 | 7864523145 | 44050 |
مثال 1:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لأسماء الوكلاء المخزنة في جدول الوكلاء.
استفسار:
mysql> SELECT *FROM agents ORDER BY Name DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'الاسم' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
يساعد | اسم | منطقة العمل | Profit_Percent | رقم الاتصال | مرتب |
---|---|---|---|---|---|
8 | سوناكشي تيواري | أودايبور | 2 | 9809453421 | 25050 |
7 | قالت شويتا | شانديغار | 6 | 8898786453 | 31670 |
4 | شيفاني المزيد | بيون | 3 | 8894236789 | 35500 |
2 | ساكشي كوماري | تشيناي | 5 | 8190567342 | 25000 |
6 | روهيني كولكارني | امبالا | 8 | 7890945612 | 25670 |
3 | براتشي ديساي | مومباي | 2 | 9056123432 | 60000 |
5 | بالافي سينغ | دلهي | 4 | 7798092341 | 38700 |
1 | جوربريت سينغ | بنغالور | 1 | 9989675432 | 43000 |
10 | ديفيكا شارما | جوا | 7 | 7864523145 | 44050 |
9 | أنوشكا تريباثي | على أصابعك | 9 | 8909124326 | 38000 |
يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لاسم الوكيل.
مثال 2:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لراتب الوكيل المخزن في جدول الوكلاء.
استفسار:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Salary' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
يساعد | اسم | منطقة العمل | Profit_Percent | رقم الاتصال | مرتب |
---|---|---|---|---|---|
3 | براتشي ديساي | مومباي | 2 | 9056123432 | 60000 |
10 | ديفيكا شارما | جوا | 7 | 7864523145 | 44050 |
1 | جوربريت سينغ | بنغالور | 1 | 9989675432 | 43000 |
5 | بالافي سينغ | دلهي | 4 | 7798092341 | 38700 |
9 | أنوشكا تريباثي | على أصابعك | 9 | 8909124326 | 38000 |
4 | شيفاني المزيد | بيون | 3 | 8894236789 | 35500 |
7 | قالت شويتا | شانديغار | 6 | 8898786453 | 31670 |
6 | روهيني كولكارني | امبالا | 8 | 7890945612 | 25670 |
8 | سوناكشي تيواري | أودايبور | 2 | 9809453421 | 25050 |
2 | ساكشي كوماري | تشيناي | 5 | 8190567342 | 25000 |
يتم عرض جميع السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لراتب الوكيل.
مثال 3:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لمنطقة عمل الوكيل المخزنة في جدول الوكلاء.
استفسار:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'WorkArea' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
ما هو حجم هذه الشاشة
سوف تحصل على الإخراج التالي:
يساعد | اسم | منطقة العمل | Profit_Percent | رقم الاتصال | مرتب |
---|---|---|---|---|---|
9 | أنوشكا تريباثي | على أصابعك | 9 | 8909124326 | 38000 |
8 | سوناكشي تيواري | أودايبور | 2 | 9809453421 | 25050 |
4 | شيفاني المزيد | بيون | 3 | 8894236789 | 35500 |
3 | براتشي ديساي | مومباي | 2 | 9056123432 | 60000 |
10 | ديفيكا شارما | جوا | 7 | 7864523145 | 44050 |
5 | بالافي سينغ | دلهي | 4 | 7798092341 | 38700 |
2 | ساكشي كوماري | تشيناي | 5 | 8190567342 | 25000 |
7 | قالت شويتا | شانديغار | 6 | 8898786453 | 31670 |
1 | جوربريت سينغ | بنغالور | 1 | 9989675432 | 43000 |
6 | روهيني كولكارني | امبالا | 8 | 7890945612 | 25670 |
يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لمنطقة عمل الوكيل.
مثال 4:
اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لنسبة ربح الوكيل المخزنة في جدول الوكلاء.
استفسار:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Profit_Percent' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.
سوف تحصل على الإخراج التالي:
يساعد | اسم | منطقة العمل | Profit_Percent | رقم الاتصال | مرتب |
---|---|---|---|---|---|
9 | أنوشكا تريباثي | على أصابعك | 9 | 8909124326 | 38000 |
6 | روهيني كولكارني | امبالا | 8 | 7890945612 | 25670 |
10 | ديفيكا شارما | جوا | 7 | 7864523145 | 44050 |
7 | قالت شويتا | شانديغار | 6 | 8898786453 | 31670 |
2 | ساكشي كوماري | تشيناي | 5 | 8190567342 | 25000 |
5 | بالافي سينغ | دلهي | 4 | 7798092341 | 38700 |
4 | شيفاني المزيد | بيون | 3 | 8894236789 | 35500 |
3 | براتشي ديساي | مومباي | 2 | 9056123432 | 60000 |
8 | سوناكشي تيواري | أودايبور | 2 | 9809453421 | 25050 |
1 | جوربريت سينغ | بنغالور | 1 | 9989675432 | 43000 |
يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لنسبة ربح الوكيل.