در SQL، برای مرتبسازی دادهها در نتایج یک دستور SELECT
از عبارت ORDER BY
استفاده میشود. این دستور به شما این امکان را میدهد که نتایج را به ترتیب صعودی یا نزولی بر اساس یک یا چند ستون مرتب کنید.
ساختار کلی عبارت ORDER BY:
FROM جدول
WHERE شرایط
ORDER BY ستون1 [ASC|DESC], ستون2 [ASC|DESC], ...;
اجزای دستور ORDER BY:
- ستونها: ستونهایی که میخواهید بر اساس آنها دادهها را مرتب کنید.
- ASC (صعودی): مرتبسازی به صورت صعودی (از کوچک به بزرگ). این گزینه به طور پیشفرض است و نیازی به ذکر آن نیست.
- DESC (نزولی): مرتبسازی به صورت نزولی (از بزرگ به کوچک).
مثالهای عملی برای استفاده از ORDER BY:
-
مرتبسازی صعودی بر اساس یک ستون: فرض کنید میخواهید تمام کاربران را بر اساس سن به صورت صعودی (کمتر به بیشتر) مرتب کنید:
SELECT * FROM کاربران
ORDER BY سن ASC;چون
ASC
به طور پیشفرض است، میتوانید بدون آن هم بنویسید:SELECT * FROM کاربران
ORDER BY سن; -
مرتبسازی نزولی بر اساس یک ستون: اگر بخواهید کاربران را بر اساس سن به صورت نزولی (بیشتر به کمتر) مرتب کنید:
SELECT * FROM کاربران
ORDER BY سن DESC; -
مرتبسازی بر اساس چند ستون: اگر بخواهید کاربران را ابتدا بر اساس سن به صورت صعودی مرتب کنید و در صورت مساوی بودن سن، بر اساس نام به صورت نزولی مرتب کنید:
SELECT * FROM کاربران
ORDER BY سن ASC, نام DESC; -
مرتبسازی بر اساس یک ستون و استفاده از مقدار NULL: در بعضی از پایگاههای داده، مقادیر NULL به طور پیشفرض در انتهای نتایج قرار میگیرند، ولی میتوانید نحوه قرارگیری آنها را به دلخواه تنظیم کنید. برای مثال، در MySQL میتوانید مشخص کنید که NULLها در ابتدا بیایند:
SELECT * FROM کاربران
ORDER BY سن ASC NULLS FIRST;
نکات:
- ترتیب پیشفرض: اگر ترتیب مرتبسازی را مشخص نکنید، SQL به طور پیشفرض از ترتیب صعودی (
ASC
) استفاده میکند. - چندین ستون: میتوانید بیش از یک ستون را در دستور
ORDER BY
استفاده کنید تا دادهها بر اساس چندین ویژگی مرتب شوند.
دستور ORDER BY
به شما این امکان را میدهد که نتایج را به شیوهای که برای تحلیل یا گزارشگیری شما مناسب است مرتب کنید.
