10. Sorrendek - ORDER BY

Az eddigi lekérdezések eredményei a sorok fizikai sorrendjében kerültek kiírásra. Az SQL lehetőséget biztosít a lekérdezés eredménysorainak rendezésére az ORDER BY alparancs segítségével.

SELECT Mezőnév, Mezőnév, ...FROM tábla
[WHERE feltétel] 
ORDER BY mezőnév [ASC|DESC], mezőnév [ASC | DESC], ...;
  • ​Az ORDER BY után meg kell adni egy vagy több mezőnevet vesszővel elválasztva. Ebben az esetben az elsődleges rendezési szempont az első mezőnév, majd azon belül a második stb...
  • Ha a mezőnév után az ASC kulcsszót használjuk, akkor a sorok a mező szerint folyamatosan növekvő sorrendben lesznek, ha DESC kulcsszót adunk, akkor folyamatosan csökkenő sorrendben lesznek.
  • Az ASC kulcsszó elhagyha, mert az alapértelmezett sorrend a növekvő.
  • Numerikus mezők esetén a rendezés a szám értéke alapján zajlik, szöveges mezők esetén az ABC sorrend számít (ASCII kód szerint, vagyis az "á" nagyobb, mint a "z"

A 12.E osztály órarandjét időrendi sorrendben az alábbi lekérdezéssel kaphatjuk meg:

SELECT Idopont, Tantargy, Terem FROM Orarend
WHERE Osztaly = '12.E'  
ORDER BY Idopont;

Egy terem elfoglaltsága időrendben:

SELECT Idopont, Tantargy, Osztály FROM Orarend
WHERE Terem = 104
ORDER BY Idopont;

Osztályonkénti névsor az összes diákra:

SELECT Nev, Osztály FROM Diakok 
ORDER BY Osztaly, Nev;

Megjegyzés

Az ORDER BY alparancs mindig a lekérdezés utolsó alparancsa, mert a különböző módpokon korábban megszülető adatokat csak a végén érdemes sorrendbe rendezni!