fbpx
SQL

تعلم لغة الاستعلام البنائية ( SQL ) – الدرس الثاني عشر Order by



يكون ترتيب نتيجة الاستعلام مفيدًا في الغالب عندما نحتاج إلى إلقاء نظرة على الأشياء من الصف الأكثر أهمية إلى الصف الأقل أهمية. على سبيل المثال ، للإجابة على السؤال “من هم الأشخاص الذين حصلوا على أعلى الدرجات” ، يمكن الإجابة عن طريق طلب النتيجة وقراءة صف النتيجة تلو الصف.

لنأخذ قائمة بالدرجات وننشئ قائمة بالأسماء المرتبة أبجديًا من الألف إلى الياء:

CREATE TABLE grades (name TEXT, subject TEXT, grade INTEGER);

INSERT INTO grades (name, subject, grade) VALUES
    ("Ahmad", "CompSci", 97), ("Walid", "CompSci", 88), ("Amel", "Arts", 99),
    ("Ahmad", "History", 93), ("Sofian", "History", 82), ("Walid", "History", 87),  
    ("Karim", "Physics", 91), ("Ahmad", "Physics", 84), ("Hicham", "Physics", 97);

SELECT DISTINCT name 
FROM grades
ORDER by name;

سنحصل على النتيجة التالية عند التشغيل

Sofian
Hicham
Amel
Walid
Ahmad
Karim

الآن ، دعنا نحصل على قائمة بالدرجات ونرتب جميع الدرجات من الأعلى إلى الأدنى. لاحظ أن اتجاه الطلب معاكس الآن مما يعني أن الطلب تنازلي. ويلاحظ ترتيب تنازلي باستخدام الأمر DEST.

CREATE TABLE grades (name TEXT, subject TEXT, grade INTEGER);

INSERT INTO grades (name, subject, grade) VALUES
    ("Ahmad", "CompSci", 97), ("Walid", "CompSci", 88), ("Amel", "Arts", 99),
    ("Ahmad", "History", 93), ("Sofian", "History", 82), ("Walid", "History", 87),  
    ("Karim", "Physics", 91), ("Ahmad", "Physics", 84), ("Hicham", "Physics", 97);

SELECT name, subject, grade
FROM grades
ORDER by grade DESC;

سنحصل على النتيجة التالية عند التشغيل

Amel|Arts|99
Ahmad|CompSci|97
Hicham|Physics|97
Ahmad|History|93
Karim|Physics|91
Walid|CompSci|88
Walid|History|87
Ahmad|Physics|84
Sofian|History|82

تمرين

احصل على قائمة بالمواضع المرتبة أبجديًا من قائمة الدرجات.

CREATE TABLE grades (name TEXT, subject TEXT, grade INTEGER);

INSERT INTO grades (name, subject, grade) VALUES
    ("Ahmad", "CompSci", 97), ("Walid", "CompSci", 88), ("Amel", "Arts", 99),
    ("Ahmad", "History", 93), ("Sofian", "History", 82), ("Walid", "History", 87),  
    ("Karim", "Physics", 91), ("Ahmad", "Physics", 84), ("Hicham", "Physics", 97);

-- أدخل رمز هنا

الحل

CREATE TABLE grades (name TEXT, subject TEXT, grade INTEGER);

INSERT INTO grades (name, subject, grade) VALUES
    ("Ahmad", "CompSci", 97), ("Walid", "CompSci", 88), ("Amel", "Arts", 99),
    ("Ahmad", "History", 93), ("Sofian", "History", 82), ("Walid", "History", 87),  
    ("Karim", "Physics", 91), ("Ahmad", "Physics", 84), ("Hicham", "Physics", 97);

-- أدخل رمز هنا
SELECT DISTINCT subject
FROM grades
ORDER BY subject;

سنحصل على النتيجة التالية عند التشغيل

Arts
CompSci
History
Physics





Leave a Reply