nadat een query een uitvoertabel heeft geproduceerd (nadat de select-lijst is verwerkt) kan deze optioneel worden gesorteerd. Als Sorteren niet is gekozen, worden de rijen geretourneerd in een ongespecificeerde volgorde. De werkelijke volgorde in dat geval zal afhangen van de scan en join plan types en de volgorde op de schijf, maar het mag niet worden vertrouwd op. Een bepaalde outputvolgorde kan alleen worden gegarandeerd als de sorteerstap expliciet wordt gekozen.
de volgorde van de clausule specificeert de sorteervolgorde:
SELECT select_list FROM table_expression ORDER BY column1 ...]
kolom 1, enz., refereer naar select list columns. Dit kan de uitvoernaam van een kolom zijn (zie paragraaf 7.3.2) of het nummer van een kolom. Enkele voorbeelden:
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;
Als een uitbreiding van de SQL-standaard PostgreSQL ook kunt bestellen door willekeurig uitdrukkingen:
SELECT a, b FROM table1 ORDER BY a + b;
Verwijzingen naar de kolom namen van de FROM-component die niet aanwezig zijn, selecteert u in de lijst zijn ook toegestaan:
SELECT a FROM table1 ORDER BY b;
Maar deze extensies werken niet in de query waarbij UNION, INTERSECT of UITZONDERING, en zijn niet overdraagbaar op andere SQL-databases.
elke kolom-specificatie kan worden gevolgd door een optionele ASC of DESC om de sorteerrichting in te stellen op oplopend of aflopend. ASC-volgorde is de standaard. Oplopende volgorde zet kleinere waarden op de eerste plaats, waarbij “kleiner” wordt gedefinieerd in termen van de < operator. Ook wordt de aflopende volgorde bepaald met de > operator.
als er meer dan één sorteerkolom is opgegeven, worden de latere items gebruikt om rijen te sorteren die gelijk zijn onder de volgorde die wordt opgelegd door de eerdere sorteerkolommen.