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

SQL NOT SQL AND SQL OR
Geeft alleen items weer die niet aan de opgegeven voorwaarde voldoen Geeft items weer die aan alle aangegeven voorwaarden voldoen Geeft items weer die aan ten minste één van de aangegeven voorwaarden voldoen
Negeren van een voorwaarde die niet relevant is voor de zoekopdracht Combineert voorwaarden om de zoekopdracht te beperken tot items die aan meerdere zoekcriteria voldoen Beperkt de zoekresultaten tot items die aan ten minste één van meerdere criteria voldoen
Tip

Wil je je verdiepen in SQL, maar ben je nog een beginner? Bekijk dan onze inleiding tot SQL met voorbeelden.

Wat is de syntaxis van SQL NOT?

De basissyntaxis van SQL NOT ziet er als volgt uit:

SELECT  *
FROM table
WHERE  NOT  (searchcriteria)
sql

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.

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

SQL NOT gecombineerd met OR

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

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

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

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

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

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

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:

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

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:

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

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 en AVG. Het kan ook worden gecombineerd met vergelijkingsoperatoren zoals =, > en SQL LIKE, en de logische operatoren AND en OR.

Ga naar hoofdmenu