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 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, erNOT 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:

SQL NOT SQL AND SQL OR
Returnerer kun elementer som ikke oppfyller den angitte betingelsen Returnerer elementer som oppfyller alle de angitte betingelsene Returnerer elementer som oppfyller minst ett av de angitte vilkårene
Negerer et vilkår som ikke er relevant for søket Kombinerer betingelser for å begrense søket til elementer som oppfyller flere søkekriterier Begrenser søkeresultatene til elementer som oppfyller minst ett av flere kriterier
Tip

Vil du lære mer om SQL, men er fortsatt nybegynner? Ta da en titt på vår innføring i SQL med eksempler.

Hva er syntaksen for SQL NOT?

Den grunnleggende syntaksen til SQL NOT ser slik ut:

SELECT  *
FROM table
WHERE  NOT  (searchcriteria)
sql

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.

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

SQL NOT kombinert med OR

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

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

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 =.

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

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

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

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:

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

Å 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:

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

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 og AVG. Den kan også kombineres med sammenligningsoperatorer som =, > og SQL LIKE, samt de logiske operatorene AND og OR.

Go to Main Menu