ٌٌٌٌٌٌWelcome

تاریخ : شنبه 17 تير 1391
نویسنده : hamidrezakhouri

دستور Order By :

اطلاعات خروجی در دستور select به طور کلی بی نظم است و مقادير خروجی در ستون های جدول بر حسب مقدار هيج ستونی مرتب نيستند . اين دستور برای مرتب کردن اطلاعات جدول بر اساس مقادير يک يا چند ستون برحسب شاخص هايی مثل ترتيب حروف الفبا ، بزرگتر يا کوچکتر بودن اعداد و ... استفاده می شود .
شکل کلی اين دستور به صورت زير است :

Select  نام فيلدهای مورد نظر  From  جدول مورد نظر
Order By   فيلد مورد نظر

* فيلدهای معرفی شده در دستور Select از جدول مذکور نمايش داده شده و اطلاعات بر حسب ستون مقابل دستور Order By مرتب می شوند .
- عبارت ASC : به کار بردن اين دستور پس از دستور Order By باعث مرتب شدن اطلاعات درون جدول از کم به زياد می شود که البته اتخاب پيش فرض SQL است و نيازی به درج آن نيست .
عبارت DESC : به کار بردن اين واژه پس از دستور Order By باعث مرتب شدن اطلاعات جدول از زِياد به کم در اعداد و در حروف از z تا a می شود ، که در صورت نياز درج آن ضروری است .

مثال : از جدول Student ، مشخصات نام و نام خانوادگی دانشجويان رشته نرم افزار را بر حسب حروف الفبا نمايش دهيد :

Student Table
Student ID Name Family Major City Grade
41252214 Ahmad Rezaee Hard Ware Tehran 18
10724113 Ehsan Amiri Soft Ware Karaj 14
10254861 Zahra Hosini Hard Ware Tehran 17
27365187 Sahar Ahmadi Soft Ware Bam 16
35654415 Hesam Razavi Soft Ware Tehran 19

مثال
Select  Name , Family   From Student
Where Major ="Soft Ware"
Order By Family
کد
Name Family
Sahar Ahmadi
Ehsan Amiri
Hesam Razavi
خروجی


نکته : همچنين می توان يک جدول را بر حسب بيش از يک فيلد مرتب کرد ، برای اين منظور پس از دستور Order By نام تمام فيلدهای مورد نظر را نوشته و آنها را با کاما از هم دا می کنيم . اولويت مرتب سازی با فيلدهای است که نام آنها زودتر ذکر شده باشند .

مثال : جدول مشخصات دانشجويان را بر حسب فيلد نام ( بر حسب حروف از a تا z ) و بر حسب نمره ( از کم به زياد ) مرتب کنيد :

Student Table
Student ID Name Family Major City Grade
41252214 Ahmad Rezaee Hard Ware Tehran 15
10724113 Ehsan Amiri Soft Ware Karaj 19
10254861 Zahra Hosini Hard Ware Tehran 18
27365187 Sahar Ahmadi Soft Ware Bam 20
35654415 Hesam Razavi Soft Ware Tehran 14

نکته : در جدول خروجی مثال زير به ارتباط مقادير ستون های Family , Grade توجه کنيد . باوجود اينکه نمره درسی دانشجو حسام رضوی از احمد رضايی کمتر است ، ولی به دليل اينکه اولويت مرتب سازی با نام خانوادگی است ، نام رضوی بالاتر از رضايی قرار گرفته است .

مثال
Select Name , Family , Grade From Student
Order By Family ASC , Grade DESC
کد
Name Family Grade
Sahar Ahmadi 20
Ehsan Amiri 19
Zahra Hoseini 18
Hesam Razavi 14
Ahmad Rezaee 16
خروجی

نکته : می توان در دستور Order By به جای ذکر نام ستون ها از يک عدد به جای آن استفاده کرد . عدد استفاده شده شماره قرار گيری ستون مورد نظر در دستور Select است . برای مثال اولين ستون دستور Select عدد 1 و دومين ستون عدد 2 و ... را خواهند داشت . بازنویسی دستور بالا با استفاده از اين روش به صورت زير خواهد بود :

مثال
Select Name , Family , Grade from Student
Order By 2 ASC , 3 DESC
کد


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:






موضوعات مرتبط: دستور Order By

آخرین مطالب

آمار وبلاگ:

بازدید امروز : 61339
بازدید دیروز : 39156
بازدید هفته : 61339
بازدید ماه : 4307613
بازدید کل : 1583314307
تعداد مطالب : 405
تعداد نظرات : 6
تعداد آنلاین : 613