دستور مرتب سازی (Order By) در SQL Server:
زمانی شما از دستور SELECT برای پرس و جو از داده ها استفاده می کنید، هیچ تضمینی وجود ندارد که خروجی کوئری شما مرتب و به ترتیب نمایش داده شود. این بدان معنی است که SQL Server می تواند اطلاعات درخواست شده را با ترتیب نامشخص ردیف ها در خروجی نمایش دهد و روشی که برای مرتب سازی داده در SQL Server وجود دارد، استفاده از دستور Order By است که syntax مربوط به دستور Order By در ادامه آمده است.
Syntax Order By: SELECT select_list FROM table_name ORDER BY Fild_name ASC, DESC
شما برای مرتب سازی داده با استفاده از دستور Order By می توانید به دو صورت عمل کنید. با اضافه کردن کلمه ASC داده ها را کمترین به بیش ترین نمایش خواهد داد و درصورتیکه از DESC استفاده کنید داده ها در خروجی از بیشترین به کمترین نمایش خواهد داد. باید به این نکته توجه کنید که اگر هیچ کدام از این کلمه ها را در انتهای دستور Order By استفاده نکنید SQL Server به طور پیش فرض از ASC برای مرتب سازی داده ها استفاده می کند.
نکته: عمل مرتب سازی و به ترتیب نمایش دادن داده ها، صرفاً فقط در خروجی کوئری شما اعمال می شود، نه در ساختار جدول که ایجاد کردید.
مثال: در کوئری زیر یک دیتابیس با نام «OrderDB» و یک جدول با نام «Customer» ایجاد شده و با استفاده از دستور insert into چند رکورد تستی هم درج می شود و توسط دستور Order By اطلاعات مربوط به فیلد favorite_color مرتب سازی شده است.
use master CREATE DATABASE OrderDB; GO DROP TABLE IF EXISTS dbo.Customer; GO USE OrderDB GO CREATE TABLE dbo.Customer) CustomerCode INT PRIMARY KEY, FirstName NVARCHAR (30), LastName NVARCHAR (30), City NVARCHAR (30), favorite_color NVARCHAR (25) ); GO INSERT INTO dbo.Customer (CustomerCode, FirstName, LastName, City, favorite_color) VALUES (1, N'رضا', N'حسینزاده', N'تهران', N'قرمز') , (2, N'حسین', N'موسیزاده', N'اهواز', N'زرد') , (3, N'علی', N'محمدی', N'تبریز', N'آبی') , (4, N'سینا', N'دادرس', N'مشهد', N'بنفش') , (5, N'میثم', N'کیانی', N'کرمان', N'صورتی') , (6, N'سینا', N'اسدی', N'اهواز', N'آبی') GO SELECT * FROM dbo.Customer ORDER BY favorite_color ASC; GO


مثال دوم: در ادامه مثال قبلی، شما با استفاده از دستور Order by desc اطلاعات فیلد مربوط به favorite_color بهصورت نزولی مرتبسازی خواهد شد.
SELECT * FROM dbo.Customer ORDER BY favorite_color DESC; GO


نتیجهگیری: در این نوشتار سعی کردیم شما را با کاربرد دستور مرتب سازی داده با ORDER BY آشنا کنیم و سعی کردیم در قالب یک مثال ساده این دستور را توضیح بدیم.
دانلود این مقاله آموزشی