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 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 |
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)sqlFø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 brukeNOT.NOT: Kombineres medWHEREfor å 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)sqlSQL 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)sqlHva 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')sqlEller hvis du vil se hvilke produkter som er utsolgt, vil det se omtrent slik ut:
SELECT *
FROM Products
WHERE NOT (Inventory > 0)sqlFiltrering 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)sqlHva 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.