SORTEER OP

Voltooid

De ORDER BY component wordt gebruikt in SQL om de resultatenset van een SELECT instructie te sorteren. Dit betekent dat de rijen van de uitvoer worden gerangschikt op basis van de waarden van een of meer kolommen.

Dit is essentieel voor het ordenen van gegevens op een manier waardoor het gemakkelijker te interpreteren en te gebruiken is. U kunt een of meer kolommen opgeven waarop u wilt sorteren en u hebt controle over de sorteervolgorde: oplopend (van klein naar groot of van A tot Z) of aflopend (van groot naar klein of Z naar A). Zonder ORDER BYis de volgorde van de geretourneerde rijen onvoorspelbaar.

Sorteren in oplopende volgorde (standaard)

SELECT * 
FROM sales.products
ORDER BY price;

Met deze query worden producten opgehaald die zijn gesorteerd op prijs in oplopende volgorde. Dit is het standaardgedrag van ORDER BY.
Hoewel redundant, kunt u expliciet toevoegen ASC aan het einde van de query, wat de leesbaarheid kan verbeteren.

Als u de volgorde wilt wijzigen, moet u dat expliciet aangeven, zoals wordt weergegeven in het volgende voorbeeld.

Sorteren in aflopende volgorde

SELECT * 
FROM sales.products
ORDER BY price DESC;

Met deze query worden producten opgehaald die zijn gesorteerd op prijs in aflopende volgorde.

Sorteren op meerdere kolommen

SELECT * 
FROM sales.customers
ORDER BY country, city;

Met deze query worden alle kolommen (*) uit de sales.customers tabel opgehaald en vervolgens de resulterende rijen gesorteerd. De sortering wordt uitgevoerd op twee niveaus: - Eerst worden de resultaten alfabetisch gesorteerd op de kolom Land. Dit betekent dat alle klanten uit "Argentinië" worden gegroepeerd, gevolgd door klanten van "Oostenrijk", enzovoort. - Binnen elke groep klanten uit hetzelfde land worden de resultaten verder alfabetisch gesorteerd op de kolom Plaats. Dus als u meerdere klanten uit Duitsland hebt, worden ze besteld op basis van hun stadsnamen (bijvoorbeeld "Aken" vóór "Berlijn").

In wezen biedt deze query een klantenlijst die voornamelijk is georganiseerd door country en vervolgens, binnen elke country, georganiseerd door city. Hierdoor kunt u eenvoudig klanten vinden vanuit een specifieke regio.
Als u deze benadering combineert met ASC of DESC modifiers, hebt u bovendien volledige controle over de sorteerrichting voor elke kolom.

SELECT * 
FROM sales.customers
ORDER BY country ASC, city DESC;

Met deze query worden landen in oplopende volgorde gesorteerd terwijl steden binnen elk land in aflopende volgorde worden georganiseerd.