أهم أقسام المدونة

الصفحات

الأحد، 21 أغسطس 2016

فقرة الترتيب ORDER BY


فقرة الترتيب ORDER BY:

يمكنك ترتيب السجلات الناتجة من الاستعلام تبعا لحقلٍ أو أكثر.. وفي المثال التالي سنعرض أسماء الكتب ومؤلفيها مرتبة باسم الكتاب:
SELECT Book, Author
FROM Books, Authors
ORDER BY Book
WHERE AuthorID = Authors.ID

ولكن لو كانت هناك كتب تحمل نفس الاسم، فكيف سيتمّ ترتيبها؟
في هذه الحالة يمكنك أن تحدّد حقل المؤلفين كمفتاح ثانٍ للترتيب، بحيث لو تشابهت أسماء الكتب، يتم ترتيب الكتب المتشابهة على حسب أسماء مؤلفيها:
SELECT Book, Author
FROM Books, Authors
ORDER BY Book, Author
WHERE AuthorID = Authors.ID

ويكون هذا الترتيب تصاعديّا في الوضع الافتراضيّ.. ولو أردت أن تغير طريقة الترتيب، فاستخدم الكلمة DESC بعد اسم أيّ حقلٍ تريد ترتيبه تنازليّا، والكلمة ASC بعد اسم الحقل الذي تريد ترتيبه تصاعديّا (وهي افتراضيّة ويمكن ألا تكتبها).. مثال:
SELECT Book, Author
FROM Books, Authors
ORDER BY Book DESC, Author ASC
WHERE AuthorID = Authors.ID
 

ملحوظة:
لوضع كيفيّة الترتيب في باني الاستعلام، حدد الحقل الذي تريد أن يتمّ الترتيب على أساسه في قسم المخطط Diagram Pane واضغطه بزرّ الفأرة الأيمن، ومن القائمة الموضعيّة اضغط الأمر Sort Ascending إذا كنت تريد الترتيب تصاعديّا، أو الأمر Sort Descending إذا كنت تريد الترتيب تنازليّا.. ستجد أن أيقونةً تمثل نوع الترتيب قد ظهرت بجوار اسم الحقل.. ولو أردت إزالة الترتيب، فاضغط نفس الأمر من القائمة الموضعيّة مرّة أخرى.. ويمكنك فعل ذلك مع أكثر من حقل ومن أيّ جدول، حيث ستظهر كلها في جملة SQL بالترتيب الذي أضفتها به.
كما يمكنك اختيار نوع الترتيب بطريقة أخرى، وذلك باستخدام قسم المعايير Criteria Pane، حيث يمكنك استخدام القائمة المنسدلة في العمود الذي يحمل العنوان Sort Type لتغيير طريقة ترتيب أي حقل.
وإذا أردت استخدام أكثر من حقل للترتيب على أساسها، فعليك استخدام العمود Sort Order للتحكم في أولوية هذه الحقول في عملية الترتيب، فالحقل الذي سيتم الترتيب على أساسه أولا أعطه الرقم 1، والحقل الذي سيتم الترتيب على أساسه في حالة تشابه قيم الحقل الأول أعطه الرقم 2، وهكذا.

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.