Rendezés szerint
ORDER BY záradékot az SQL-ben a SELECT utasítás eredményhalmazának rendezésére használják. Ez azt jelenti, hogy a kimenet sorait egy vagy több oszlop értékei alapján rendezi.
Ez nélkülözhetetlen az adatok olyan módon történő rendszerezéséhez, amely megkönnyíti az értelmezést és a használatot. Megadhat egy vagy több rendezendő oszlopot, és szabályozhatja a rendezési sorrendet: növekvő (a legkisebbtől a legnagyobbig vagy A-tól Z-ig) vagy csökkenő (a legnagyobbtól a legkisebbig vagy Z-től A-ig). E nélkül ORDER BYa visszaadott sorok sorrendje kiszámíthatatlan.
Rendezés növekvő sorrendben (alapértelmezett)
SELECT *
FROM sales.products
ORDER BY price;
Ez a lekérdezés növekvő sorrendben, ár szerint rendezve kéri le a termékeket, amely az alapértelmezett viselkedése ORDER BY.
Bár redundáns, explicit módon hozzáadhatja ASC a lekérdezés végén, ami javíthatja az olvashatóságot.
A sorrend módosításához ezt explicit módon kell jeleznie, ahogy az az alábbi példában is látható.
Rendezés csökkenő sorrendben
SELECT *
FROM sales.products
ORDER BY price DESC;
Ez a lekérdezés a termékeket csökkenő sorrendben, ár szerint rendezve kéri le.
Rendezés több oszlop szerint
SELECT *
FROM sales.customers
ORDER BY country, city;
Ez a lekérdezés lekéri az összes oszlopot (*) a sales.customers táblából, majd rendezi az eredményként kapott sorokat.
A rendezés két szinten történik: - Először az eredmények betűrendben vannak rendezve az ország oszlopa szerint. Ez azt jelenti, hogy az "Argentínából" származó összes ügyfél össze lesz csoportosítva, majd az "Ausztriából" érkező ügyfelek és így tovább.
- Az ugyanahhoz az országhoz tartozó ügyfelek minden csoportján belül az eredmények betűrendben vannak rendezve a város oszlopa szerint. Tehát, ha több ügyfele van Németországban, őket a városneveik szerint rendezik, például "Aachen" kerül "Berlin" elé.
Ez a lekérdezés lényegében egy olyan ügyféllistát biztosít, amely elsősorban country, majd az egyes country-n belül city alapján van rendszerezve. Ez megkönnyíti az ügyfelek megkeresését egy adott régióból.
Emellett a megközelítés ASC és DESC a módosítók kombinálásával teljes mértékben szabályozható az egyes oszlopok rendezési iránya.
SELECT *
FROM sales.customers
ORDER BY country ASC, city DESC;
Ez a lekérdezés növekvő sorrendbe rendezi az országokat, miközben az egyes országokon belüli városokat csökkenő sorrendbe rendezi.