Sql

|

اموزش order by

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

ساختار این دستور به شکل زیر میباشد:

Select نام فيلدهای مورد نظر

From جدول مورد نظر
Order By فيلد مورد نظر

نکته: در مقابل عبارت order by دو مقدار ASC و DESC را میتوان قرار داد که ASC به معنی نتایج به صورت صعودیست که اگر ننوشته شود تاثیری ندارد. این مقدار به صورت پیشفرض موجود است. و اما DESC که نتایج را بصورت نزولی نمایش میدهد.

برای اینکه معانی را بهتر درک کنیم به مثال توجه کنید.میخواهیم از جدول student نام دانشجویانی که در تهران تحصیل میکنند را بر اساس حروف الفبا نمایش دهیم:

Age

Entering Year

City

Major

Family

Name

Student ID

23

90

Tehran

Software

Amiri

Reza

996055

20

92

Ahwaz

History

Abasi

Sara

984055

22

87

Yazd

Chemistry

Rezaee

Saeed

784409

22

90

Tehran

Software

Saeedi

Saman

940554

22

91

Yazd

Software

Mohammadi

Sahar

554033

25

91

Tehran

History

Hamidi

Shahin

220955

30

87

Tehran

History

Saeedi

Zahra

339833

Select Name , Family

From Student
"Where City ="Tehran
Order By Family

نتیجه قطعه کد بالا جدول زیر خواهد بود:

Family

Name

Amiri

Reza

Hamidi

Shahin

Saeedi

Saman

Saeedi

Zahra

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

در این حالت فیلد اول بر دوم اولویت دارد یعنی اول دانشجویان را بر اساس نام خانوادگی و بعد اگر نام خانوادگی آنها برابر بود بر اساس سن آنها را نمایش میدهد.

Select Name , Family , Age

From Student
Order By Family ASC , Age DESC

نتیجه به این شکل خواهد بود:

Age

Family

Name

23

Amiri

Reza

25

Hamidi

Shahin

30

Saeedi

Zahra

22

Saeedi

Saman

نکته: همچنین میتوان به جای استفاده کردن از نام ستون ها از اعداد استفاده کرد یعنی 1 برای شماره دانشجویی ، 2 برای نام و...

برای مثال به کد زیر توجه کنید:

Order By 2 ASC , 3 DESC

دریافت آخرین مطالب وبلاگ در کانال داتینه

علی نعیمی

علی نعیمی هستم،دارای لیسانس سخت افزار.
از سال 90 بصورت تخصصی به فراگیری زبان سی شارپ پرداختم. در حال حاضر مسلط به سی شارپ، جاوا، پایگاه داده و زبان های تحت وب هستم.

نظرات
نظر بدهید