دستور ORDER BY در SQL Server

در SQL Server از عبارت ORDER BY در کوئری SELECT استفاده می شود تا نتیجه را به ترتیب صعودی یا نزولی یک یا چند ستون مرتب کند.

دستور ORDER BY در SQL Server

دستور ORDER BY در SQL Server

در SQL Server از عبارت ORDER BY در کویری SELECT استفاده می شود تا نتیجه را به ترتیب صعودی یا نزولی یک یا چند ستون مرتب کند.

سینتکس آن به صورت زیر است:

دستور ORDER BY در SQL Server

ویژگی های ORDER BY :

1 - عبارت ORDER BY برای دریافت رکوردهای مرتب شده در یک یا چند ستون به ترتیب صعودی یا نزولی استفاده می شود.

2 - در صورت وجود عبارت ORDER BY باید بعد از عبارت WHERE ، GROUP BY و HAVING قرار گیرد.

3 - از ASC یا DESC برای تعیین ترتیب مرتب سازی بعد از نام ستون استفاده کنید. از ASC برای مرتب کردن رکوردها به ترتیب صعودی یا از DESC برای نزولی استفاده کنید. به طور پیش فرض، اگر ترتیب مشخص نشده باشد، ORDER BY رکوردها را به ترتیب صعودی مرتب می کند.

برای درک بهتر، ما از Employee و Department زیر در همه نمونه ها استفاده خواهیم کرد.

دستور ORDER BY در SQL Server

کویری زیر تمام رکوردها را از جدول Employee می گیرد و نتیجه را به ترتیب صعودی مقادیر FirstName مرتب می کند.

دستور ORDER BY در SQL Server

کویری فوق نتیجه زیر را در SQL Server برمی گرداند.

دستور ORDER BY در SQL Server

کویری زیر ردیف ها را به ترتیب نزولی مقدار FirstName برمی گرداند.

دستور ORDER BY در SQL Server

کویری بالا نتیجه زیر را در SQL Server برمی گرداند.

دستور ORDER BY در SQL Server

مرتب سازی بر اساس چندین ستون

دستور ORDER BY می تواند شامل چندین ستون به ترتیب مرتب سازی مختلف (صعودی یا نزولی) باشد. هنگامی که چندین ستون را با عبارت ORDER BY اضافه می کنید، رکوردها را بر اساس ستون اول مرتب می کند و اگر هر دو یا چند رکورد در ستون اول ORDER BY مقدار یکسانی داشته باشند، آنها را بر اساس ستون دوم ORDER BY مرتب می کند.

برای درک این موضوع، ابتدا نتیجه را بر اساس ستون DeptId مرتب کنید، همانطور که در زیر نشان داده شده است.

دستور ORDER BY در SQL Server

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

دستور ORDER BY در SQL Server

اکنون، ستون FirstName را در عبارت ORDER BY قرار دهید.

دستور ORDER BY در SQL Server

کوئری بالا ابتدا نتیجه را بر اساس DeptId مرتب می کند و سپس ردیف هایی که همان DeptId را دارند بر اساس FirstName مرتب می شوند. به یاد داشته باشید، ما ASC یا DESC را در نظر نگرفته ایم، بنابراین نتایج را به صورت پیش فرض به ترتیب صعودی مرتب می کند، همانطور که در زیر نشان داده شده است.

دستور ORDER BY در SQL Server

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

کویری زیر گروه رکوردها را مرتب می کند.

دستور ORDER BY در SQL Server

پرس و جوی بالا نتیجه زیر را نمایش می دهد.

دستور ORDER BY در SQL Server
دستور ORDER BY در SQL Server آموزش SQL Server