# Hoe SQL `NOT` te gebruiken

SQL `NOT` is een logische operator die **efficiënte en nauwkeurige filtering van zoekresultaten** mogelijk maakt **door middel van uitsluiting**. U kunt de operator `NOT` gebruiken om gegevens weg te laten die niet aan een voorwaarde voldoen, waardoor uw resultaten worden beperkt tot relevante informatie.

## Wat is de SQL `NOT` -operator?

Samen met [SQL `OR`](https://www.ionos.com/nl-be/digitalguide/server/configuratie/sql-of/) en `AND` is `NOT` een van de logische operatoren in SQL die kan worden gebruikt om voorwaarden en criteria voor gegevensquery’s te formuleren. Terwijl de operatoren `AND` en `OR` de items uit datasets retourneren die aan alle of een van de voorwaarden voldoen, **is`NOT` gebaseerd op uitsluiting**. Het laat alle informatie die *niet aan* een bepaalde voorwaarde *voldoet*, weg uit uw zoekresultaten.

SQL `NOT` wordt vaak gebruikt met SELECT, WHERE en SQL `HAVING`. U kunt **`NOT` combineren met `AND` en `OR`** om uw zoekopdracht nog nauwkeuriger te maken. Op die manier filtert u irrelevante resultaten weg.

### Wat is het verschil tussen SQL `NOT`, `AND` en `OR`?

De belangrijkste verschillen tussen SQL `NOT`, `AND` en `OR` kunnen als volgt worden samengevat:

<table>
  <thead>
    <tr>
      <th>SQL `NOT`</th>
      <th>SQL `AND`</th>
      <th>SQL `OR`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Geeft alleen items weer die niet aan de opgegeven voorwaarde voldoen</td>
      <td>Geeft items weer die aan alle aangegeven voorwaarden voldoen</td>
      <td>Geeft items weer die aan ten minste één van de aangegeven voorwaarden voldoen</td>
    </tr>
    <tr>
      <td>Negeren van een voorwaarde die niet relevant is voor de zoekopdracht</td>
      <td>Combineert voorwaarden om de zoekopdracht te beperken tot items die aan meerdere zoekcriteria voldoen</td>
      <td>Beperkt de zoekresultaten tot items die aan ten minste één van meerdere criteria voldoen</td>
    </tr>
  </tbody>
</table>

Tip Wil je je verdiepen in [SQL](https://www.ionos.com/nl-be/digitalguide/server/knowhow/wat-is-sql/), maar ben je nog een beginner? Bekijk dan onze [inleiding tot SQL met voorbeelden](https://www.ionos.com/nl-be/digitalguide/server/configuratie/inleiding-tot-sql-met-voorbeelden/).

## Wat is de syntaxis van SQL `NOT`?

De basissyntaxis van SQL `NOT` ziet er als volgt uit:

```sql
SELECT  *
FROM table
WHERE  NOT  (searchcriteria)
```

De volgende parameters kunnen worden gebruikt met `NOT`:

- `SELECT`: Geeft aan welke kolommen in uw zoekopdracht moeten worden opgenomen. U kunt een asterisk `*` gebruiken om de hele tabel te doorzoeken. U kunt ook afzonderlijke kolommen specificeren met hun primaire en externe sleutels.
- `FROM`: Geeft de tabel aan waarin u wilt zoeken.
- `WHERE`: Geeft de voorwaarden aan die u wilt gebruiken om uw zoekopdracht te verfijnen. Hier kunt u `NOT` gebruiken.
- `NOT`: In combinatie met `WHERE` om aan te geven welke zoekresultaten niet moeten worden opgenomen.

Als u uw zoekresultaten nog nauwkeuriger wilt maken, kunt u ook `AND` en `OR` gebruiken.

### SQL `NOT` gecombineerd met `AND`

Je kunt `NOT` combineren met `AND` om resultaten uit te sluiten die aan twee of meer voorwaarden voldoen.

```sql
SELECT  *
FROM  table
WHERE  NOT  (condition1  AND  condition2)
```

### SQL `NOT` gecombineerd met `OR`

Je kunt `NOT` combineren met `OR` om resultaten uit te sluiten die **aan ten minste één voorwaarde** voldoen.

```sql
SELECT  *
FROM  table
WHERE  NOT  (condition1  OR  condition2)
```

## Waarvoor wordt SQL `NOT` gebruikt?

Er zijn **talloze toepassingen** voor SQL `NOT` in query’s en zoekopdrachten. Deze omvatten:

- Gegevens met betrekking tot klanten, bestellingen of producten uitsluiten op basis van regio, jaar, categorie, prijs of een ander kenmerk
- Gegevens negeren die ongeldige of ontbrekende waarden bevatten
- Financiële gegevens filteren die niet aan bepaalde transactiecriteria voldoen
- Gegevens uitsluiten voor werknemers die niet tot een bepaalde afdeling behoren
- Het filteren van sollicitanten die niet over bepaalde kwalificaties beschikken

### Voorbeelden van SQL `NOT`

Zoekopdrachten met SQL `NOT` kunnen sterk variëren, afhankelijk van het gebruik. Bepalende factoren zijn hoe u de voorwaarde definieert met de `WHERE`, de `NOT` en andere optionele operatoren. Hieronder laten we u **drie voorbeelden** zien.

### Werknemers uitsluiten op basis van regio

Stel dat u werkt in een tabel met de naam ‘Werknemers’ en alleen de werknemers wilt zien die **niet in het Verenigd Koninkrijk wonen**. Gebruik hiervoor de kolom ‘Land’, een `WHERE` clausule, een `NOT` en de vergelijkingsoperator `=`.

```sql
SELECT  *
FROM  Customers
WHERE  NOT  (Country  =  'UK')
```

Of als u wilt zien welke **producten niet op voorraad zijn**, zou dat er ongeveer zo uitzien:

```sql
SELECT  *
FROM  Products
WHERE  NOT  (Inventory  >  0)
```

### Klanten filteren

In dit voorbeeld zoeken we naar een groep klanten die **niet aan bepaalde criteria voldoen**. Stel dat u geen klanten wilt zien die jonger zijn dan 30 en in Cardiff wonen. Dat zou er als volgt uitzien:

```sql
SELECT  *
FROM  Customers
WHERE  NOT  (Age  <  30  AND  City  =  'Cardiff')
```

### Het filteren van ondergekwalificeerde sollicitanten

Stel dat u alle sollicitanten wilt uitsluiten die geen bachelordiploma of minimaal drie jaar werkervaring hebben. Die zoekopdracht zou er als volgt uitzien:

```sql
SELECT  *
FROM  Applicants
WHERE  NOT  (Degree  =  ´Bachelor´  OR  Experience  <  3)
```

## Wat zijn enkele alternatieven voor SQL `NOT`?

SQL `NOT` is de enige operator die negatie gebruikt om zoekcriteria te filteren. Maar aangezien SQL `NOT` een veelzijdige SQL-operator is, kan deze worden gecombineerd met verschillende SQL-opdrachten om **nauwkeurige zoekopdrachten** uit te voeren. Deze opdrachten omvatten SQL JOIN en SQL `HAVING` zoals [SQL SUM](https://www.ionos.com/nl-be/digitalguide/server/configuratie/sql-sum/) en `AVG`. Het kan ook worden gecombineerd met vergelijkingsoperatoren zoals `=`, `>` en SQL LIKE, en de logische operatoren `AND` en `OR`.


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