Rækkefølgen af en forespørgsel kan fremtvinges ved at bruge en 'Order by'-klausul i erklæringen. En SQL-database forstår faktisk ikke, hvilken rækkefølge du sætter tingene i, eller gemmer dataene i en given rækkefølge. Det betyder, at du skal fortælle SQL, hvilken rækkefølge du vil have varerne i. For eksempel:
Select * from Table
order by column1 desc
Tænk på det som at give nogle ting til din veninde at holde - hun vil have det hele til dig senere, men hun gemmer det et sted i mellemtiden. Hun flytter det måske rundt, mens du ikke ønsker at gøre plads til noget andet, eller hun kan give det tilbage i samme rækkefølge, som du gav hende det, men du sagde ikke til hende, at hun skulle holde det i orden, så hun gør det ikke .
Databaser skal kunne flytte rundt på tingene i baggrunden, så den måde, de er bygget på, ved ikke i sig selv om nogen rækkefølge - du skal kende rækkefølgen, når du giver den til databasen, så du kan lægge den tilbage i bestiller du senere. Ordrebestemmelsen tillader SQL at pålægge en ordre på dataene, men den husker ikke eller har en alene.
Vigtigt punkt :Selv når SQL returnerede varerne i den rigtige rækkefølge uden en ordre for sætning de sidste 1 million gange, garanterer det ikke, at det vil gøre det. Selvom der findes et klynget indeks på bordet, er resultaterne ikke garanteret at blive returneret i den rækkefølge, du forventer. Især når SQL-versioner ændres, kan ikke eksplicit brug af en orden efter klausul bryde programmer, der antager, at forespørgslen vil være i den rækkefølge, de ønsker!