در SQL، برای مرتب‌سازی داده‌ها در یک جدول از ORDER BY استفاده می‌کنیم. این دستور می‌تواند داده‌ها را صعودی (از کوچک به بزرگ) یا نزولی (از بزرگ به کوچک) مرتب کند.


۱. مرتب‌سازی صعودی و نزولی 🆙⬇️

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

📌 مثال – مرتب‌سازی محصولات بر اساس قیمت 💰

SELECT * FROM Products
ORDER BY Price;

🔹 این کوئری محصولات را بر اساس قیمت از کمترین به بیشترین مقدار نمایش می‌دهد.

📌 مثال – مرتب‌سازی نزولی بر اساس قیمت ⬇️

SELECT * FROM Products
ORDER BY Price DESC;

🔹 این کوئری محصولات را از گران‌ترین به ارزان‌ترین نمایش می‌دهد.

💡 تمرین:
یک کوئری بنویس که داده‌های جدول “Employees” را بر اساس “Salary” از بیشترین به کمترین مقدار مرتب کند.


۲. مرتب‌سازی بر اساس متن – حروف الفبا 🔠

وقتی ستونی شامل متن (string) باشد، ORDER BY آن‌ها را به‌صورت حروف الفبا (A → Z) مرتب می‌کند.

📌 مثال – مرتب‌سازی نام محصولات از A تا Z

SELECT * FROM Products
ORDER BY ProductName;

🔹 این کوئری محصولات را بر اساس نام آن‌ها، به‌ترتیب حروف الفبا نمایش می‌دهد.

📌 مثال – مرتب‌سازی نام محصولات از Z تا A 🔄

SELECT * FROM Products
ORDER BY ProductName DESC;

🔹 این کوئری نام محصولات را به‌صورت برعکس (Z → A) مرتب می‌کند.

💡 چالش:
یک کوئری بنویس که جدول “Customers” را بر اساس “City” از Z تا A مرتب کند.


۳. مرتب‌سازی بر اساس چند ستون همزمان 🏛️

گاهی می‌خواهیم داده‌ها را ابتدا بر اساس یک ستون اصلی و سپس در صورت یکسان بودن مقدار آن ستون، بر اساس ستون دیگری مرتب کنیم.

📌 مثال – مرتب‌سازی مشتریان بر اساس کشور و سپس نام مشتری 🌍

SELECT * FROM Customers
ORDER BY Country, CustomerName;

🔹 ابتدا کشورها به ترتیب حروف الفبا مرتب می‌شوند.
🔹 اگر چند مشتری در یک کشور باشند، آن‌ها بر اساس نام مشتری مرتب خواهند شد.

📌 مثال – ترکیب صعودی و نزولی در مرتب‌سازی 🎭

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

🔹 کشورها به ترتیب الفبا (A → Z) مرتب می‌شوند.
🔹 مشتریان داخل هر کشور به صورت نزولی (Z → A) مرتب می‌شوند.

💡 تمرین:
یک کوئری بنویس که جدول “Orders” را بر اساس “OrderDate” به‌صورت صعودی و “TotalPrice” به‌صورت نزولی مرتب کند.


📢 جمع‌بندی – نکات مهم 🚀

ORDER BY برای مرتب‌سازی داده‌ها استفاده می‌شود.
✅ به‌صورت پیش‌فرض، صعودی (ASC) مرتب می‌کند.
✅ برای مرتب‌سازی نزولی از DESC استفاده می‌کنیم.
✅ می‌توان بر اساس چند ستون همزمان مرتب کرد.
✅ می‌توان ترکیبی از ASC و DESC را به‌کار برد.