# Hvordan bruke SQL `NOT`

SQL `NOT` er en logisk operator som muliggjør **effektiv og presis filtrering av søkeresultater ved hjelp av utelukkelse**. Du kan bruke operatoren `NOT` til å utelate data som ikke oppfyller et vilkår, slik at resultatene begrenses til relevant informasjon.

## Hva er `NOT` 10-operatoren?

I likhet med [SQL `OR`](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-eller/) og `AND` er `NOT` en av de logiske operatorene i SQL som kan brukes til å formulere betingelser og kriterier for datasøk. Mens operatorene `AND` og `OR` returnerer elementene fra datasettene som oppfyller alle eller én av betingelsene, **er`NOT` basert på utelukkelse**. Den utelater all informasjon som *ikke* oppfyller en bestemt betingelse fra søkeresultatene.

SQL `NOT` brukes ofte sammen med SELECT, WHERE og SQL `HAVING`. Du kan **kombinere `NOT` med `AND` og `OR`** for å gjøre søket ditt enda mer presist. På den måten filtrerer du bort irrelevante resultater.

### Hva er forskjellen mellom SQL `NOT`, `AND` og `OR`?

De viktigste forskjellene mellom SQL `NOT`, `AND` og `OR` kan oppsummeres slik:

<table>
  <thead>
    <tr>
      <th>SQL `NOT`</th>
      <th>SQL `AND`</th>
      <th>SQL `OR`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Returnerer kun elementer som ikke oppfyller den angitte betingelsen</td>
      <td>Returnerer elementer som oppfyller alle de angitte betingelsene</td>
      <td>Returnerer elementer som oppfyller minst ett av de angitte vilkårene</td>
    </tr>
    <tr>
      <td>Negerer et vilkår som ikke er relevant for søket</td>
      <td>Kombinerer betingelser for å begrense søket til elementer som oppfyller flere søkekriterier</td>
      <td>Begrenser søkeresultatene til elementer som oppfyller minst ett av flere kriterier</td>
    </tr>
  </tbody>
</table>

Tip Vil du lære mer om [SQL](https://www.ionos.com/nb-no/digitalguide/server/kunnskap/hva-er-sql/), men er fortsatt nybegynner? Ta da en titt på vår [innføring i SQL med eksempler](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/introduksjon-til-sql-med-eksempler/).

## Hva er syntaksen for SQL `NOT`?

Den grunnleggende syntaksen til SQL `NOT` ser slik ut:

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

Følgende parametere kan brukes med `NOT`:

- `SELECT`: Angir hvilke kolonner som skal inkluderes i søket. Du kan bruke en stjerne `*` for å søke i hele tabellen. Du kan også angi enkeltkolonner ved hjelp av deres primærnøkler og fremmednøkler.
- `FROM`: Angir tabellen du vil søke i.
- `WHERE`: Angir betingelsene du vil bruke for å begrense søket. Det er her du kan bruke `NOT`.
- `NOT`: Kombineres med `WHERE` for å angi hvilke søkeresultater som ikke skal inkluderes.

Hvis du vil gjøre søkeresultatene enda mer presise, kan du også bruke `AND` og `OR`.

### SQL `NOT` kombinert med `AND`

Du kan kombinere `NOT` med `AND` for å utelukke resultater som oppfyller to eller flere betingelser.

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

### SQL `NOT` kombinert med `OR`

Du kan kombinere `NOT` med `OR` for å ekskludere resultater som oppfyller **minst ett av kriteriene**.

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

## Hva brukes SQL `NOT` til?

Det finnes **utallige bruksområder** for SQL `NOT` i spørringer og søk. Blant disse er:

- Utelukkelse av data knyttet til kunder, bestillinger eller produkter basert på region, år, kategori, pris eller andre kjennetegn
- Ignorerer data som inneholder ugyldige eller manglende verdier
- Filtrering av finansdata som ikke oppfyller visse transaksjonskriterier
- Ekskludere data for ansatte som ikke er i en bestemt avdeling
- Filtrering av søkere som ikke har bestemte kvalifikasjoner

### Eksempler på SQL `NOT`

Søk med SQL `NOT` kan variere mye avhengig av bruksområdet. Avgjørende faktorer er hvordan du definerer betingelsen med `WHERE` klausulen, `NOT` operatoren og andre valgfrie operatorer. Nedenfor viser vi deg **tre eksempler**.

### Utelukkelse av ansatte basert på region

La oss si at du jobber med en tabell som heter «Employees» og bare vil se de ansatte som **ikke bor i Storbritannia**. For å gjøre dette bruker du kolonnen «Country», en `WHERE` -klausul, en `NOT` -operator og sammenligningsoperatoren `=`.

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

Eller hvis du vil se hvilke **produkter som er utsolgt**, vil det se omtrent slik ut:

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

### Filtrering av kunder

I dette eksemplet skal vi søke etter en gruppe kunder som **ikke oppfyller visse kriterier**. La oss si at du ikke ønsker å se kunder som er yngre enn 30 år og bor i Cardiff. Da vil det se slik ut:

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

### Å sortere ut søkere som ikke oppfyller kvalifikasjonskravene

La oss si at du ønsker å ekskludere alle søkere som ikke har enten en bachelorgrad eller minst tre års arbeidserfaring. Søket vil da se slik ut:

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

## Hva er noen alternativer til SQL `NOT`?

SQL `NOT` er den eneste operatoren som bruker negasjon til å filtrere søkekriterier. Men siden SQL `NOT` er en allsidig SQL-operator, kan den kombineres med ulike SQL-kommandoer for å utføre **presise spørringer**. Disse kommandoene inkluderer SQL JOIN og SQL `HAVING` som [SQL SUM](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-sum/) og `AVG`. Den kan også kombineres med sammenligningsoperatorer som `=`, `>` og SQL LIKE, samt de logiske operatorene `AND` og `OR`.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-ikke/](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-ikke/) for AI/LLM consumption.