خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
15. آموزش SQL Server به زبان ساده. مرتب سازی نتایج جستجو با دستور ORDER BY

هر گاه قصد داشته باشیم تا نتایج جستجوهای اس کیو ال سرور را به ترتیب خاصی بچینیم، می توانیم از دستور ORDER BY استفاده نماییم. این دستور می تواند روی یک فیلد، دو فیلد و یا چندین فیلد عملیات مرتب سازی اطلاعات را انجام بدهد. همچنین دستور ORDER BY به شما امکان می دهد تا در مورد هر فیلد نحوه مرتب سازی بصورت صعودی یا نزولی را تعیین نمایید.

دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName ASC

در این دستور در قسمت ORDER BY ما به اس کیو ال گفتیم که نتایج خروجی دستور SELECT ما را بر اساس فیلد "نام خانوادگی" بصورت صعودی مرتب سازی کند. کلمه ASC در اینجا یعنی صعودی.
حالا دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName DESC

این دستور کاملا مشابه دستور قبل است، با این تفاوت که بجای ASC از DESC که معنای نزولی می دهد استفاده کرده ایم. خروجی دو دستور را با هم مقایسه کنید.
در مثال بالا، ما عملیات مرتب سازی را بر اساس یک فیلد انجام دادیم. در این مثال می خواهیم بر اساس دو فیلد مرتب سازی را انجام بدهیم. دقت کنید که وقتی تعداد فیلد های مرتب سازی بیش از یک فیلد باشد، بترتیب نوشتن آنها در دستور، ابتدا بر روی فیلد اول مرتب سازی انجام می شود و سپس بر روی فیلد دوم و به همین ترتیب تا فیلد آخر پیش می رود.
برای اینکه مثال بعدی بهتر درک شود ما رکوردهای جدول PhoneBook را کمی افزایش داده ایم. ابتدا شما هم مشابه تصویر زیر رکوردهایتان را اضافه کنید و سپس به ادامه مثالها بپردازید.

حالا دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName ASC, FirstName ASC

همانطور که در تصویر می بینید، خروجی ما ابتدا بر اساس نام خانوادگی مرتب شده است و سپس برای کسانی که نام خانوادگی یکسان داشته اند ترتیب نام اعمال شده است.
آموزش قبلی : 14. آموزش SQL Server به زبان ساده. استفاده از عملگر BETWEEN
آموزش بعدی : 16. آموزش SQL Server به زبان ساده. معنای ارتباط بین جداول در SQL Server

روش استفاده از دستور ORDER BY
دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName ASC

در این دستور در قسمت ORDER BY ما به اس کیو ال گفتیم که نتایج خروجی دستور SELECT ما را بر اساس فیلد "نام خانوادگی" بصورت صعودی مرتب سازی کند. کلمه ASC در اینجا یعنی صعودی.
حالا دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName DESC

این دستور کاملا مشابه دستور قبل است، با این تفاوت که بجای ASC از DESC که معنای نزولی می دهد استفاده کرده ایم. خروجی دو دستور را با هم مقایسه کنید.
اگر کلمه ASC یا DESC را فراموش کنید، مشکلی پیش نمی آید و دستور اجرا می شود. در این حالت بصورت پیش فرض ASC یعنی صعودی لحاظ می گردد.
مرتب سازی چندین فیلد با دستور ORDER BY
در مثال بالا، ما عملیات مرتب سازی را بر اساس یک فیلد انجام دادیم. در این مثال می خواهیم بر اساس دو فیلد مرتب سازی را انجام بدهیم. دقت کنید که وقتی تعداد فیلد های مرتب سازی بیش از یک فیلد باشد، بترتیب نوشتن آنها در دستور، ابتدا بر روی فیلد اول مرتب سازی انجام می شود و سپس بر روی فیلد دوم و به همین ترتیب تا فیلد آخر پیش می رود.
برای اینکه مثال بعدی بهتر درک شود ما رکوردهای جدول PhoneBook را کمی افزایش داده ایم. ابتدا شما هم مشابه تصویر زیر رکوردهایتان را اضافه کنید و سپس به ادامه مثالها بپردازید.

حالا دستور زیر را بنویسید و اجرا کنید.
SELECT * FROM PhoneBook
WHERE (RowID > 1)
ORDER BY LastName ASC, FirstName ASC

همانطور که در تصویر می بینید، خروجی ما ابتدا بر اساس نام خانوادگی مرتب شده است و سپس برای کسانی که نام خانوادگی یکسان داشته اند ترتیب نام اعمال شده است.
آموزش قبلی : 14. آموزش SQL Server به زبان ساده. استفاده از عملگر BETWEEN
آموزش بعدی : 16. آموزش SQL Server به زبان ساده. معنای ارتباط بین جداول در SQL Server
نمایش دیدگاه ها (1 دیدگاه)
دیدگاه خود را ثبت کنید: