# Hoe SQL ORDER BY te gebruiken

Met `ORDER BY` commando van SQL kunt u zoekresultaten sorteren op basis van uw individuele behoeften, in oplopende of aflopende volgorde. Door de gegevens in uw doeltabel te sorteren in rijen en kolommen, worden uw resultaten duidelijker en beter leesbaar. Dat optimaliseert en versnelt op zijn beurt uw gegevensanalyses en query’s in complexe gegevenssets.

## Wat is SQL `ORDER BY`?

U kunt SQL `ORDER BY` gebruiken om gegevens en resultaten uit eenvoudige of complexe datasets te sorteren. Met deze opdracht kunt u bepalen **hoe gegevens** in de doeltabel **worden gerangschikt**. Bovendien kunt u aangeven of gegevens in oplopende of aflopende volgorde moeten worden gesorteerd. Zo helpt `ORDER BY` om queryresultaten te leveren die duidelijk en gemakkelijk te lezen zijn.

Standaard levert `ORDER BY` resultaten in oplopende volgorde, dat wil zeggen van A tot Z of van de kleinste naar de grootste waarde. Als u de voorkeur geeft aan resultaten in aflopende volgorde, kunt u het optionele trefwoord `DESC` gebruiken. U kunt één of meerdere doelkolommen voor de resultaten definiëren.

SQL `ORDER BY` is belangrijk voor het uitvoeren van **georganiseerde, snelle query’s**. Het wordt vaak gebruikt met SELECT, WHERE en andere SQL-operatoren en -functies zoals GROUP BY.

Tip Wilt u [SQL](https://www.ionos.com/nl-be/digitalguide/server/knowhow/wat-is-sql/) beter begrijpen, maar weet u niet waar u moet beginnen? Onze [inleiding tot SQL met voorbeelden](https://www.ionos.com/nl-be/digitalguide/server/configuratie/inleiding-tot-sql-met-voorbeelden/) maakt het gemakkelijk om deze populaire databasetaal te leren.

## Wat is de syntaxis van SQL `ORDER BY`?

De syntaxis van SQL `ORDER BY` ziet er als volgt uit:

```sql
SELECT  ColumnA, ColumnB, …  or *
FROM  Table
ORDER BY  ColumnA, ColumnB, …  (optional: ASC or DESC)
```

Opmerking Als u slechts één kolom invoert na `ORDER BY`, krijgt u **één kolom met gesorteerde resultaten**. Als u meer dan één kolom invoert, worden de resultaten gesorteerd op basis van kolom A. Als kolom A in sommige rijen identieke vermeldingen bevat, worden die rijen gesorteerd op basis van kolom B.

U kunt deze syntaxis uitbreiden met verdere operatoren en parameters. Een `WHERE` kan bijvoorbeeld worden gebruikt om criteria te definiëren die uw zoekresultaten verfijnen. De syntaxis van `ORDER BY` in combinatie met `WHERE` ziet er als volgt uit:

```sql
SELECT  ColumnA, ColumnB, …  or *
FROM  Table
WHERE  ColumnA  =  'SearchCondition'
ORDER BY  ColumnA, ColumnB, …  (optional: ASC or DESC)
```

U kunt ook de volgende parameters gebruiken:

- `SELECT`: U kunt SELECT gebruiken om aan te geven welke gegevens u wilt analyseren. Gebruik een asterisk `*` om de volledige dataset op te vragen of voer de namen van kolommen in om met die kolommen te werken.
- `FROM`: Geeft aan uit welke tabel u gegevens wilt opvragen.
- `WHERE`: WHERE is een optionele clausule voor het definiëren van zoekcriteria die uw resultaten verfijnen. Binnen een `WHERE` kunt u operatoren zoals `=`, LIKE of [NOT](https://www.ionos.com/nl-be/digitalguide/server/configuratie/sql-niet/) gebruiken.
- `ORDER BY`: Bepaalt op basis van welke kolom u uw resultaten wilt sorteren. Als u `ASC` of `DESC` niet toevoegt, worden de resultaten standaard in oplopende volgorde gesorteerd.

Opmerking Afhankelijk van de database sorteert `ORDER BY` NULL-waarden automatisch of op basis van de geselecteerde sorteervolgorde. In SQLite, MySQL en SQL Server worden NULL-waarden behandeld als de laagste waarden. Dat betekent dat ze aan het begin van oplopende resultaten verschijnen. In Oracle en PostgreSQL worden NULL-waarden behandeld als de hoogste waarden. Ze verschijnen dus aan het einde van oplopende resultaten.

## Waarvoor kan SQL `ORDER BY` worden gebruikt?

Hier zijn enkele praktische gebruiksscenario’s voor SQL `ORDER BY`:

- Productinformatie sorteren op productnaam, categorie of prijs
- Transacties sorteren op basis van bedrag, datum of naam
- Bestellingen sorteren op basis van bedrag of beoordelingen
- Sorteren van werknemers op basis van salaris, contracten, prestaties of afdeling
- Voorraad weergeven op basis van hoeveelheid of naam
- Verzendingen sorteren op postcode of trackingnummer
- Klantenlijsten sorteren op regio of leeftijd

## Voorbeelden van SQL `ORDER BY`

We gaan nu kijken naar 3 voorbeelden met `ORDER BY`.

### Producten sorteren op prijs

In dit voorbeeld sorteren we producten uit de categorie ‘Haar’ in oplopende volgorde op basis van prijs. We gebruiken `FROM` en `WHERE` om aan te geven welke items we willen sorteren. Met `ORDER BY` en `ASC` geven we aan dat we ze in oplopende volgorde op basis van prijs willen sorteren. De syntaxis ziet er als volgt uit:

```sql
SELECT  *
FROM  Products
WHERE  Category  = 'Hair'
ORDER BY  Price  ASC;
```

### Klanten filteren

Stel dat u werkt in een tabel met de naam ‘Klanten’ en dat u alle klanten uit het Verenigd Koninkrijk op naam wilt sorteren. U wilt ze in omgekeerde alfabetische volgorde sorteren, van Z naar A, dus voegt u `DESC` toe aan het commando `ORDER BY`.

```sql
SELECT  *
FROM  Customers
WHERE  Country = 'UK'
ORDER BY  Name  DESC;
```

### Sorteren op basis van meerdere categorieën

In dit voorbeeld wilt u producten uit de categorie ‘Elektronica’ sorteren op basis van de bestelhoeveelheid. Als de bestelhoeveelheden identiek zijn, wilt u ze sorteren op basis van het land waar de bestelling vandaan komt.

```sql
SELECT  *
FROM  Products
WHERE  Category  =  'Electronics'
ORDER BY  OrderQuantity ASC,  Country  DESC;
```

## Zijn er alternatieven voor SQL `ORDER BY`?

Er zijn geen alternatieven voor `ORDER BY` in SQL met dezelfde functie. GROUP BY is echter een SQL-opdracht die vaak in combinatie met `ORDER BY` wordt gebruikt. `GROUP BY` kan worden gebruikt om **records op basis van categorieën te groeperen** en `ORDER BY` kan die records bovendien sorteren.

**Een voorbeeld**: stel dat u de bestelhoeveelheden van klanten wilt groeperen op basis van land en vervolgens de aggregatiefunctie AVG wilt gebruiken om te sorteren op basis van de gemiddelde bestelhoeveelheid. De syntaxis daarvoor zou er als volgt uitzien:

```sql
SELECT  Country, AVG(OrderQuantity)
FROM  Customers
WHERE  Category = 'Electronics'
GROUP BY  Country
ORDER BY  AVG(OrderQuantity) ASC;
```

U kunt ook een HAVING-clausule gebruiken om de gesorteerde records te filteren op basis van zoekcriteria en voorwaarden. `LIMIT` kan worden gebruikt om de resultatenset te beperken tot een bepaald aantal.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/server/configuratie/sql-order-by/](https://www.ionos.com/nl-be/digitalguide/server/configuratie/sql-order-by/) for AI/LLM consumption.