پس از اجرای یک پرسوجوی SQL و دریافت نتایج، اغلب نیاز داریم تا این نتایج را بر اساس یک یا چند ستون خاص به ترتیب مشخصی مرتب کنیم. دستور ORDER BY در SQL Server دقیقاً برای همین منظور به کار میرود. این دستور به شما امکان میدهد نتایج را به صورت صعودی (ASC) یا نزولی (DESC) مرتب کنید.
تعریف و کاربرد ORDER BY
- دستور ORDER BY در انتهای یک پرسوجوی SQL (پس از SELECT، FROM، WHERE، GROUP BY، HAVING) قرار میگیرد.
- این دستور نتایج پرسوجو را بر اساس ستون(های) مشخص شده مرتب میکند.
- میتوان بر اساس یک ستون یا چندین ستون به صورت همزمان مرتبسازی انجام داد.
مرتبسازی صعودی (ASC) و نزولی (DESC)
- ASC (Ascending): مرتبسازی به ترتیب صعودی (از کوچک به بزرگ، از A به Z، از قدیمیترین به جدیدترین تاریخ). این حالت پیشفرض است و اگر نوع مرتبسازی را مشخص نکنید، SQL Server به صورت صعودی مرتب میکند.
- DESC (Descending): مرتبسازی به ترتیب نزولی (از بزرگ به کوچک، از Z به A، از جدیدترین به قدیمیترین تاریخ).
مثالهای کاربردی
فرض کنید جدولی به نام Products داریم که شامل اطلاعات محصولات با ستونهای ProductName، Price و StockQuantity است.
مثال 1: مرتبسازی محصولات بر اساس نام (صعودی)
SELECT ProductName, Price, StockQuantity
FROM Products
ORDER BY ProductName ASC; -- یا فقط ORDER BY ProductName;نتایج بر اساس نام محصول به ترتیب حروف الفبا نمایش داده میشود.
مثال 2: مرتبسازی محصولات بر اساس قیمت (نزولی)
SELECT ProductName, Price, StockQuantity
FROM Products
ORDER BY Price DESC;محصولات از بیشترین قیمت به کمترین قیمت نمایش داده میشوند.
مثال 3: مرتبسازی بر اساس چند ستون (قیمت نزولی، سپس نام محصول صعودی)
SELECT ProductName, Price, StockQuantity
FROM Products
ORDER BY Price DESC, ProductName ASC;ابتدا محصولات بر اساس قیمت مرتب میشوند. اگر دو محصول قیمت یکسان داشته باشند، آنگاه بر اساس نامشان (به ترتیب حروف الفبا) مرتب خواهند شد.
نکات مهم
- ستونهایی که برای مرتبسازی استفاده میشوند، لزوماً نباید در بخش SELECT گنجانده شوند، اما معمولاً برای وضوح بهتر، نام ستون مرتبسازی در SELECT هم آورده میشود.
- در صورت نیاز میتوان از شماره ستون به جای نام آن در ORDER BY استفاده کرد (مثلاً
ORDER BY 2 DESCیعنی مرتبسازی بر اساس ستون دوم به صورت نزولی). این روش کمتر توصیه میشود زیرا در صورت تغییر ساختار جدول، پرسوجو دچار خطا میشود. - ORDER BY آخرین دستور در یک پرسوجوی SELECT است (مگر اینکه از زیرپرسوجو یا CTE استفاده شود).
جمعبندی
دستور ORDER BY ابزاری اساسی و ضروری در SQL Server برای سازماندهی و نمایش نتایج پرسوجوها به شکلی قابل فهم و منطقی است. توانایی مرتبسازی نتایج بر اساس معیارهای مختلف، به کاربران در تحلیل و درک بهتر دادهها کمک شایانی میکند.
کلیدواژه ها : ORDER BY-مرتبسازی در SQL-SQL ORDER BY-مرتبسازی صعودی-ASC-مرتبسازی نزولی-DESC-SQL Server sort-نظمدهی نتایج-SQL query results-دستور مرتبسازی-SQL syntax-انواع مرتبسازی-مرتبسازی بر اساس نام-مرتبسازی بر اساس عدد-مرتبسازی بر اساس تاریخ-SQL data presentation-SQL data organization-SQL data analysis-کلیدواژههای SQL-پرسوجوی SQL-چند ستون مرتبسازی-SQL multi-column sort-پیشفرض مرتبسازی-SQL default sort-order of SQL clauses-ترتیب دستورات SQL-نظمدهی اطلاعات-یافتن الگو در داده-SQL performance tuning-نمایش منظم دادهها-دستورات پایه SQL-