Ga naar hoofdinhoud

SQL NOT EQUAL-operator: een beginnersgids

Ontgrendel de kracht van SQL NOT EQUAL met onze expertgids. Leer je dataqueries verfijnen met praktische voorbeelden en optimalisatietips voor betere analyses.
· 6 min lezen

Verken met AI

In de wereld van SQL is inzicht in vergelijkingsoperatoren cruciaal voor datamanipulatie en -analyse. Onder deze operatoren speelt NOT EQUAL (<> of !=) een belangrijke rol bij het filteren van data die niet aan bepaalde criteria voldoet. Deze tutorial wil de NOT EQUAL-operator ontrafelen en beginners begeleiden bij het begrijpen van de betekenis, toepassing en nuances voor efficiënte SQL-querying.

Introductie tot vergelijkingsoperatoren

Vergelijkingsoperatoren vormen de basis in SQL en maken het mogelijk om data te evalueren aan de hand van specifieke voorwaarden. Hiertoe behoren operatoren voor gelijkheid (=), ongelijkheid (<>, !=), groter dan (>) en kleiner dan (<), en meer. Opvallend is dat SQL twee symbolen biedt voor ongelijkheid: <> en !=. Ze hebben dezelfde functie, maar <> heeft de voorkeur om te voldoen aan de ISO-standaarden.

De SQL NOT EQUAL-operator verkennen

Waarom NOT EQUAL gebruiken?

De NOT EQUAL-operator (<> of !=) wordt gebruikt om data op te vragen uit een tabel die niet aan een bepaalde voorwaarde voldoet. Zo kun je specifieke rijen uitsluiten uit de resultaten, waardoor je data-analyse nauwkeuriger en relevanter wordt.

Syntaxis en gebruik

De syntaxis voor het gebruik van de NOT EQUAL-operator is eenvoudig: je vergelijkt twee expressies om niet-overeenkomende data weg te filteren. Je kunt hem gebruiken met verschillende clausules en voorwaarden, zoals WHERE, JOIN en HAVING. 

WHERE-clausule

Je kunt hem gebruiken om rijen te filteren waarbij de waarde in een kolom niet overeenkomt met een opgegeven waarde. Om bijvoorbeeld producten te selecteren met uitzondering van een specifieke product-ID, gebruik je de volgende code:

SELECT * 
FROM products 
WHERE ProductID <> 1;

JOIN-voorwaarden

Je kunt hem gebruiken in ON-clausules om voorwaarden voor het joinen van tabellen te definiëren.

SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;

HAVING-clausule

Je kunt hem gebruiken om gegroepeerde data te filteren op basis van aggregaatvoorwaarden.

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) != 5;

CASE-statements

Je kunt hem gebruiken voor conditionele logica om specifieke resultaten te retourneren wanneer aan de voorwaarde is voldaan.

SELECT name, 
       CASE 
           WHEN department_id != 10 THEN 'Other Department' 
           ELSE 'Department 10'
       END AS department_category
FROM employees;

UPDATE-statements

Je kunt hem gebruiken in de WHERE-clausule om rijen te specificeren die moeten worden bijgewerkt op basis van ongelijkheid.

UPDATE employees
SET salary = salary * 1.1
WHERE job_id != 'Manager';

DELETE-statements

Je kunt hem gebruiken in de WHERE-clausule om rijen te identificeren die verwijderd moeten worden wanneer de voorwaarde waar is.

DELETE FROM employees
WHERE department_id != 10;

Praktische voorbeelden

Laten we dieper ingaan op de praktische toepassing van de SQL NOT EQUAL-operator met uitgebreide voorbeelden die de veelzijdigheid en kracht laten zien bij het bevragen van databases. Deze voorbeelden tonen hoe je != en <> effectief gebruikt in uiteenlopende scenario’s en zo je SQL-vaardigheden aanscherpt.

Voorbeeld 1: Specifieke records filteren

Stel, je hebt een databasetabel Employees met kolommen EmployeeID, Name en DepartmentID. Om werknemers uit een specifieke afdeling uit te sluiten, bijvoorbeeld DepartmentID 3, kun je de NOT EQUAL-operator gebruiken:

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

3

Carol White

3

4

David Green

2

5

Erin Black

4

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID != 3;

Deze query haalt alle werknemers op die niet tot DepartmentID 3 behoren en filtert zo de personen uit die in die specifieke afdeling zitten.

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Voorbeeld 2: Voorwaarden combineren

Stel dat je werknemers uit DepartmentID 3 wilt uitsluiten én degenen van wie de naam met ‘A’ begint. Dan combineer je de NOT EQUAL-operator met andere voorwaarden via AND en LIKE:

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <> 3 AND Name NOT LIKE 'A%';

Deze query laat zien hoe je NOT EQUAL samen met LIKE kunt gebruiken voor patroonmatching, waarbij je een subset van werknemers uitsluit op basis van afdeling en naamcriteria.

EmployeeID

Name

DepartmentID

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Voorbeeld 3: Omgaan met NULL-waarden

Werken met NULL-waarden in SQL vraagt om speciale aandacht, omdat NULL een onbekende waarde vertegenwoordigt. Om werknemers te vinden van wie de ManagerID niet bekend is (dus NULL), zou je kunnen denken aan != of <>. De juiste aanpak is echter IS NOT NULL gebruiken:

EmployeeID

Name

DepartmentID

ManagerID

1

Alice Johnson

1

NULL

2

Bob Smith

2

1

3

Carol White

3

1

4

David Green

2

2

5

Erin Black

4

3

Bijgewerkte Employees-tabel

SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;

Deze query haalt werknemers op die een bekende ManagerID hebben en sluit degenen uit met een NULL ManagerID. Dit onderstreept hoe belangrijk het is om te begrijpen hoe SQL NULL-waarden interpreteert bij vergelijkingen.

EmployeeID

Name

2

Bob Smith

3

Carol White

4

David Green

5

Erin Black

Voorbeeld 4: NOT EQUAL gebruiken met aggregatie

Stel dat je verkoopdata uit de Sales-tabel wilt analyseren, maar verkopen uit 2020 wilt uitsluiten. Door GROUP BY te combineren met NOT EQUAL kun je data aggregeren terwijl je specifieke jaren weglaat:

SaleID

SaleDate

Quantity

1

2019-05-01

2

2

2019-08-15

1

3

2020-04-20

3

4

2021-07-22

1

5

2021-11-05

2

6

2022-01-30

4

Sales-tabel

SELECT YEAR(SaleDate) AS SaleYear, COUNT(*) AS TotalSales
FROM Sales
GROUP BY YEAR(SaleDate)
HAVING YEAR(SaleDate) <> 2020;

Deze query aggregeert verkopen per jaar en sluit de totale verkopen voor 2020 uit. Zo zie je hoe NOT EQUAL samen met aggregaatfuncties en GROUP BY je data-analyse kan verfijnen.

SaleYear

TotalSales

2019

2

2021

2

2022

1

Voorbeeld 5: Prestatie-optimalisatie

Bij het bevragen van grote datasets kan de performance beïnvloed worden door hoe je je NOT EQUAL-voorwaarden structureert. Stel dat je met een Products-tabel werkt en producten in categorieën 5 en 7 wilt uitsluiten. In plaats van meerdere keren NOT EQUAL te gebruiken, is NOT IN vaak efficiënter:

ProductID

Name

CategoryID

1

Wireless Mouse

1

2

Gaming Keyboard

5

3

USB-C Charging Cable

3

4

Bluetooth Speakers

7

5

Ergonomic Chair

2

6

LED Monitor

4

7

Smartwatch

5

8

Desk Lamp

6

9

Webcam

2

SELECT ProductID, Name
FROM Products
WHERE CategoryID NOT IN (5, 7);

Deze query is beknopter en mogelijk efficiënter op grote datasets. Dit illustreert een optimalisatietechniek wanneer je meerdere specifieke waarden wilt uitsluiten.

ProductID

Name

1

Wireless Mouse

3

USB-C Charging Cable

5

Ergonomic Chair

6

LED Monitor

8

Desk Lamp

9

Webcam

Met deze voorbeelden heb je de flexibiliteit en kracht van de SQL NOT EQUAL-operator gezien in uiteenlopende situaties, van simpele uitsluitingen tot complexe queries met aggregatie en prestatie-overwegingen.

Onthoud bij het oefenen dat de keuze tussen != en <> grotendeels een kwestie van stijl is, maar consequent gebruik maakt je SQL-queries beter leesbaar en onderhoudbaar.

Prestatie-overwegingen

Hoewel de NOT EQUAL-operator krachtig is, moet je het gebruik afwegen tegen performance. Ongelijkheidsoperaties kunnen soms leiden tot minder efficiënte queryplannen, zoals volledige tabelscans. Alternatieven zoals de IN-operator of gelijkheidsvoorwaarden kunnen in bepaalde situaties beter presteren.

Conclusie

De NOT EQUAL-operator is een fundamenteel hulpmiddel in SQL voor datafiltering. Door de toepassing te begrijpen en rekening te houden met performance, kun je efficiënte en effectieve queries schrijven. Vergeet niet dat de keuze tussen <> en != bij voorkeur uitgaat naar <> om aan ISO-standaarden te voldoen, zodat je SQL-code robuust en universeel interpreteerbaar is.

Wil je meer leren over de SQL NOT EQUAL-operator en andere SQL-basisconcepten verkennen? Bekijk dan onze SQL Basics Cheat Sheet en de SQL Fundamentals skill track.

Abid Ali Awan

Auteur

Abid Ali Awan

Als gecertificeerd data scientist haal ik met passie het maximale uit de nieuwste technologie om innovatieve machinelearning-toepassingen te bouwen. Met een sterke achtergrond in spraakherkenning, data-analyse en -rapportage, MLOps, conversationele AI en NLP heb ik mijn vaardigheden aangescherpt in het ontwikkelen van intelligente systemen die echt impact maken. Naast mijn technische expertise ben ik ook een sterke communicator met een talent om complexe concepten terug te brengen tot heldere, beknopte taal. Daardoor ben ik uitgegroeid tot een veelgelezen blogger over data science, waar ik mijn inzichten en ervaringen deel met een groeiende community van data-professionals. Op dit moment richt ik me op contentcreatie en redactie, waarbij ik met large language models werk aan krachtige en aansprekende content die zowel bedrijven als individuen helpt het beste uit hun data te halen.

SQL NOT IN Veelgestelde vragen

Wat doet de SQL NOT EQUAL-operator?

De SQL NOT EQUAL-operator (<> of !=) filtert data door rijen uit te sluiten die aan een specifieke voorwaarde voldoen. Hij wordt vaak gebruikt om data op te halen die niet aan de opgegeven criteria in een query voldoet.

Zijn <> en != hetzelfde in SQL?

Ja, <> en != hebben in SQL dezelfde functie en geven ongelijkheid weer. Toch verdient <> de voorkeur omdat dit aansluit bij ISO-standaarden, waardoor queries universeler te interpreteren zijn.

Kan de NOT EQUAL-operator met NULL-waarden overweg?

Nee, de NOT EQUAL-operator gaat niet rechtstreeks om met NULL-waarden. Gebruik IS NOT NULL om NULL’s uit te filteren, omdat NULL in SQL een onbekende waarde voorstelt.

Hoe verschilt de performance bij het gebruik van NOT EQUAL in SQL-queries?

Het gebruik van NOT EQUAL kan soms leiden tot minder efficiënte queryplannen, zoals volledige tabelscans. Overweeg voor betere performance alternatieven zoals de IN-operator of geindexeerde gelijkheidsvoorwaarden wanneer dat passend is.

Kan ik de NOT EQUAL-operator combineren met andere SQL-voorwaarden?

Ja, de NOT EQUAL-operator kan gecombineerd worden met andere voorwaarden met behulp van logische operatoren zoals AND en OR, evenals patroonmatchingfuncties zoals LIKE, om meer complexe en nauwkeurige queries te maken.

 

Onderwerpen

Gerelateerd