دستور Order By در Sql | سایت استوایی

دستور Order By در Sql

در هنگام پرس و جو، خروجی بر اساس کلید اصلی مرتب می‌باشد. درصورتیکه بخواهیم بر اساس یک یا چند ستون دیگر مرتب سازی خروجی انجام شود باید از عبارت Order By در انتهای دستور Select استفاده نمایید. در این آموزش با دستور Order By در Sql آشنا خواهید شد.
در ضمن پیشنهاد ما این است که مطالب را به ترتیب بخوانید. اگر آموزش قبل مربوط به عملگر Like در Sql را هنوز مشاهده نکرده‌اید بهتر است که ابتدا این آموزش را مشاهده کنید.

آموزش رایگان Sql Server | استوایی

آموزش تصویری دستور Order By در Sql


مشخصات فیلم آموزشی
تولید کننده: وب سایت استوایی
مدرس: روناک حیات غیبی
حجم: 16.9 مگابایت
مدت زمان: 07:07 دقیقه
زبان:فارسی
تاریخ انتشار: 14 فروردین 1398

دستور مرتب سازی در Sql

با استفاده از Order By امکان مرتب سازی جواب پرس‌وجو وجود دارد. شکل کلی دستور بصورت زیر می‌باشد.

select * / لیست فیلدها
from نام جدول
Order By نام فیلد موردنظر

درصورتیکه در دستورات شرط هم داشته باشید باید عبارت Order By بعد از دستور where نوشته شود.

select * / لیست فیلدها
from نام جدول
where شرط مورد نظر
Order By نام فیلد موردنظر

می‌توان در مقابل Order By از موارد زیر استفاده کرد:

  • نام فیلد که لزومی ندارد حتماً این فیلد در Select وجود داشته باشد.
  • شماره فیلد مقابل Select مثلا عدد 1 برابر با اولین فیلد مقابل select است
  • Alias به عنوان اسم فیلد

توجه داشته باشید مرتب سازی بصورت پیش فرض صعودی است در صورتیکه بخواهید مرتب سازی نزولی باشد باید در مقابل Order By از عبارت DESC استفاده کنید.

مرتب سازی نزولی در Sql Server | سایت استوایی
مرتب سازی نزولی در Sql Server | سایت استوایی

امکان مرتب‌سازی بر اساس فیلد محاسباتی وجود دارد. در پرس‌وجو زیر شماره فاکتور و مبلغ فروش نمایش داده می‌شود و بر روی ستون مبلغ فروش مرتب‌سازی نزولی انجام شده است.

select SalesOrderId,(1-UnitPriceDisCount)*OrderQty*UnitPrice 'Mablagh'
from sales.salesorderdetail
order by mablagh desc
یا
select SalesOrderId,(1-UnitPriceDisCount)*OrderQty*UnitPrice 'Mablagh'
from sales.salesorderdetail
order by 2 desc
جادوی استوایی Sql Server |استوایی

مرتب سازی داده ها در Sql

امکان مرتب سازی داده‌ها بر اساس بیش از یک فیلد وجود دارد. شکل کلی دستور بصورت زیر می‌باشد.

select *
from production.product
order by Name, Color

در مرتب سازی بر اساس بیش از یک فیلد ممکن است فیلد دوم مورد استفاده قرار نگیرد در واقع در شرایطی که رکوردها در اولین فیلد مقابل Order By مقادیر یکتا داشته باشند فیلد دوم به بعد هرگز مورد استفاده قرار نمی‌گیرند. در مثال فوق در صورتیکه نام کالای تکراری وجود داشته باشد از ستون رنگ کالا برای مرتب سازی این کالاهای همنام استفاده خواهد شد.

در مرتب سازی بر اساس چند فیلد، هریک از فیلدها می‌تواند جداگانه بصورت صعودی یا نزولی باشد. در مثال زیر مرتب سازی بر اساس رنگ بصورت نزولی مرتب می‌شود و در مواقعی که رنگ کالاها یکسان است بر اساس نام که بصورت صعودی است مرتب سازی انجام می‌شود.

select *
from production.product
order by Color Desc, Name
Select *
From product
Where productId>700
Order by Color DESC, Name

هنگامیکه مقدار یک ستون برابر با Null (بدون مقدار) باشد در مرتب سازی این مقدار از همه مقادیر کوچکتر در نظر گرفته می‌شود.

مرتب سازی رکوردها

با استفاده از دستور Order By امکان مرتب سازی رکوردهای خروجی در اس کیو ال وجود دارد.

سرفصل های آموزش Sql

5 نظر برای دستور Order By در Sql ثبت شده

  1. سلام خانم غیبی اموزشتان خیلی مفید بود واقعا متشکرم.

    1. سلام دوست عزیز. خوشحالم که از آموزش ها راضی بودید. موفق و پیروز باشید

  2. سلام خانوم

    ممنون بابت آموزش برای گرفتن لیست پرفروش ها بدردم خورد ممنونم

    1. سلام

      خواهش میکنم خوشحالم که آموزش براتون مفید بوده

    2. سلام خانوم تشکر بابت آموزشتان
      سوال من در رابطه با این هست الان با دستور Order By محصولاتمان را مرتب سازی کردیم داخل جدول دیتابس .
      چه جوری باید خروجی جیسون بگیریم مثلا چه جوری همون کالاهایی که مرتب کردیم بیایم دریافت کنیم به صورت json .
      تشکر

دیدگاهتان را بنویسید

پر کردن تمام موارد زیر الزامیست