# Sådan bruges SQL-operatoren `NOT`

SQL `NOT` er en logisk operator, der gør det muligt **at filtrere søgeresultater effektivt og præcist ved hjælp af udelukkelse**. Du kan bruge operatoren `NOT` til at udelade data, der ikke opfylder en betingelse, og dermed begrænse resultaterne til relevante oplysninger.

## Hvad er `NOT` 10-operatoren?

Ligesom [SQL `OR`](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/sql-eller/) og `AND` er `NOT` en af de logiske operatorer i SQL, der kan bruges til at formulere betingelser og kriterier for dataforespørgsler. Mens operatorerne `AND` og `OR` returnerer de poster fra datasæt, der opfylder alle eller en af betingelserne, **er`NOT` baseret på udelukkelse**. Den udelader alle de oplysninger fra søgeresultaterne, der *ikke* opfylder en bestemt betingelse.

SQL `NOT` bruges ofte sammen med SELECT, WHERE og SQL `HAVING`. Du kan **kombinere `NOT` med `AND` og `OR`** for at gøre din søgning endnu mere præcis. På den måde filtrerer du irrelevante resultater fra.

### Hvad er forskellen mellem SQL `NOT`, `AND` og `OR`?

De væsentligste forskelle mellem SQL `NOT`, `AND` og `OR` kan sammenfattes som følger:

<table>
  <thead>
    <tr>
      <th>SQL `NOT`</th>
      <th>SQL `AND`</th>
      <th>SQL `OR`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Returnerer kun poster, der ikke opfylder den angivne betingelse</td>
      <td>Returnerer poster, der opfylder alle de angivne betingelser</td>
      <td>Returnerer poster, der opfylder mindst én af de angivne betingelser</td>
    </tr>
    <tr>
      <td>Negerer en betingelse, der ikke er relevant for søgningen</td>
      <td>Kombinerer betingelser for at indsnævre søgningen til emner, der matcher flere søgekriterier</td>
      <td>Begrænser søgeresultaterne til emner, der opfylder mindst ét af flere kriterier</td>
    </tr>
  </tbody>
</table>

Tip Vil du gerne dykke dybere ned i [SQL](https://www.ionos.com/da-dk/digitalguide/server/know-how/hvad-er-sql/), men er stadig nybegynder? Så tag et kig på vores [introduktion til SQL med eksempler](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/introduktion-til-sql-med-eksempler/).

## Hvordan ser syntaksen for SQL `NOT` ud?

Den grundlæggende syntaks for SQL `NOT` ser således ud:

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

Følgende parametre kan bruges sammen med `NOT`:

- `SELECT`: Angiver, hvilke kolonner der skal medtages i din søgning. Du kan bruge en stjerne `*` til at søge i hele tabellen. Du kan også angive enkelte kolonner ved hjælp af deres primær- og fremmednøgler.
- `FROM`: Angiver den tabel, du vil søge i.
- `WHERE`: Angiver de betingelser, du vil bruge til at indsnævre din søgning. Det er her, du kan bruge `NOT`.
- `NOT`: Kombineres med `WHERE` for at angive, hvilke søgeresultater der ikke skal medtages.

Hvis du vil gøre dine søgeresultater endnu mere præcise, kan du også bruge `AND` og `OR`.

### SQL `NOT` kombineret med `AND`

Du kan kombinere `NOT` med `AND` for at udelukke resultater, der opfylder to eller flere betingelser.

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

### SQL `NOT` kombineret med `OR`

Du kan kombinere `NOT` med `OR` for at udelukke resultater, der opfylder **mindst én betingelse**.

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

## Hvad bruges SQL `NOT` til?

Der findes **utallige anvendelsesmuligheder** for SQL `NOT` i forespørgsler og søgninger. Heriblandt kan nævnes:

- Udelukkelse af data vedrørende kunder, ordrer eller produkter baseret på region, år, kategori, pris eller et andet kendetegn
- Ignorerer data, der indeholder ugyldige eller manglende værdier
- Filtrering af finansdata, der ikke opfylder bestemte transaktionskriterier
- Udelukkelse af data for medarbejdere, der ikke er ansat i en bestemt afdeling
- Filtrering af ansøgere, der ikke har bestemte kvalifikationer

### Eksempler på SQL `NOT`

Søgninger med SQL `NOT` kan variere meget afhængigt af anvendelsessituationen. De afgørende faktorer er, hvordan du definerer betingelsen med `WHERE` klausulen, `NOT` operatoren og andre valgfri operatorer. Nedenfor viser vi dig **tre eksempler**.

### Udelukkelse af medarbejdere efter region

Lad os sige, at du arbejder i en tabel ved navn »Medarbejdere« og kun vil se de medarbejdere, der **ikke bor i Storbritannien**. For at gøre dette skal du bruge kolonnen »Land«, en `WHERE` -klausul, en `NOT` -operator og sammenligningsoperatoren `=`.

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

Eller hvis du vil se, hvilke **produkter der er udsolgt**, vil det se nogenlunde sådan ud:

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

### Filtrering af kunder

I dette eksempel skal vi søge efter en gruppe kunder, der **ikke opfylder bestemte kriterier**. Lad os sige, at du ikke ønsker at se kunder, der er yngre end 30 år og bor i Cardiff. Det vil se således ud:

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

### At frasortere ansøgere, der ikke opfylder kravene

Lad os sige, at du vil udelukke alle ansøgere, der hverken har en bachelorgrad eller mindst tre års erhvervserfaring. Sådan ser søgningen ud:

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

## Hvilke alternativer findes der til SQL `NOT`?

SQL `NOT` er den eneste operator, der bruger negation til at filtrere søgekriterier. Men da SQL `NOT` er en alsidig SQL-operator, kan den kombineres med forskellige SQL-kommandoer for at udføre **præcise forespørgsler**. Disse kommandoer omfatter SQL JOIN og SQL `HAVING` som [SQL SUM](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/sql-sum/) og `AVG`. Den kan også kombineres med sammenligningsoperatorer som `=`, `>` og SQL LIKE samt de logiske operatorer `AND` og `OR`.


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/server/konfiguration/sql-not/](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/sql-not/) for AI/LLM consumption.