miután egy lekérdezés kimeneti táblát készített (a select lista feldolgozása után), opcionálisan rendezhető. Ha a rendezés nincs kiválasztva, a sorok nem meghatározott sorrendben kerülnek visszaadásra. A tényleges sorrend ebben az esetben a szkennelési és csatlakozási terv típusaitól, valamint a lemezen lévő megrendeléstől függ, de nem szabad rá támaszkodni. Egy adott kimeneti sorrend csak akkor garantálható, ha a rendezési lépést kifejezetten kiválasztják.
az ORDER BY záradék meghatározza a rendezési sorrendet:
SELECT select_list FROM table_expression ORDER BY column1 ...]
1. oszlop stb., lásd: lista Oszlopok kiválasztása. Ezek lehetnek egy oszlop kimeneti neve (lásd a 7.3.2 szakaszt) vagy egy oszlop száma. Néhány példa:
SELECT a, b FROM table1 ORDER BY a;SELECT a + b AS sum, c FROM table1 ORDER BY sum;SELECT a, sum(b) FROM table1 GROUP BY a ORDER BY 1;
az SQL szabvány kiterjesztéseként a PostgreSQL tetszőleges kifejezésekkel történő rendezést is lehetővé tesz:
SELECT a, b FROM table1 ORDER BY a + b;
a FROM záradék oszlopneveire való hivatkozások, amelyek nem szerepelnek a select listában, szintén engedélyezettek:
SELECT a FROM table1 ORDER BY b;
ezek a Kiterjesztések azonban nem működnek a UNION, az INTERSECT vagy az EXCEPT lekérdezésekben, és nem hordozhatók más SQL adatbázisokban.
minden oszlop specifikációt követhet egy opcionális ASC vagy DESC, hogy a rendezési irányt növekvő vagy csökkenő értékre állítsa. Az ASC sorrend az alapértelmezett. A növekvő sorrend a kisebb értékeket helyezi előtérbe, ahol a” kisebb ” a < operátor. Hasonlóképpen, a csökkenő sorrendet a > operátorral határozzuk meg.
ha egynél több rendezési oszlop van megadva, akkor a későbbi bejegyzések a korábbi rendezési oszlopok által előírt sorrendben egyenlő sorok rendezésére szolgálnak.