Syntax van de SQL OR-operator
De OR-operator is eenvoudig te gebruiken en te integreren in SQL-queries. Hieronder staat de basis-syntax wanneer gebruikt in de SELECT-instructie.
SELECT column1, column2, ...
FROM table_name
WHERE condition1
OR condition2
OR condition3;
Let op dat je meer dan één OR-voorwaarde kunt gebruiken in de WHERE-clausule.
Basisgebruik in de SELECT-instructie
De OR-operator wordt gebruikt in de SELECT-instructie om records terug te geven die aan een van de opgegeven voorwaarden voldoen. Dit maakt de OR-operator handig wanneer je records wilt ophalen zonder meerdere complexe queries te schrijven.
In het onderstaande voorbeeld filtert de OR-operator alle personeelsrecords voor werknemers in "New York" of "Los Angeles".
-- Select employeees from New York or Los Angeles city
SELECT first_name, last_name, city
FROM employees
WHERE city = 'New York'
OR city = 'Los Angeles';
OR combineren met AND in SQL
De OR-operator kan worden gecombineerd met de AND-operator om complexere voorwaarden in een SQL-query te vormen. Wanneer je zowel de OR- als de AND-operator gebruikt, zetten we haakjes om de volgorde van de bewerkingen te bepalen.
Neem de volgende query: we willen alle werknemers selecteren die in de IT-afdeling werken én in "New York" wonen (als één voorwaarde), of die meer dan $70.000 verdienen. De haakjes groeperen de AND-voorwaarde zodat die als één geheel wordt geëvalueerd voordat de OR-operator wordt toegepast.
-- Select columns
SELECT first_name, last_name, department, city, salary
FROM employees
-- Grouping IT department in New York
WHERE (department = 'IT' AND city = 'New York')
-- Employees with salary over 70,000
OR salary > 70000;

Voorbeelduitvoer van een tabel gefilterd door OR met AND te combineren. Afbeelding door de auteur.
De bovenstaande query evalueert en retourneert records van:
-
Werknemers die in de IT-afdeling werken en in New York wonen.
-
Of elke werknemer die meer dan $70.000 verdient, ongeacht afdeling of stad.
Wanneer je de OR-operator met de AND-operator combineert, moet je de voorwaarden correct groeperen met haakjes. Een fout hierin kan tot logische fouten leiden en ongewenste resultaten opleveren.
Als er geen haakjes in de query worden gebruikt, wordt de AND-voorwaarde vóór de OR-voorwaarde geëvalueerd. Door haakjes correct te gebruiken, groepeer je de voorwaarde expliciet en zorg je ervoor dat de beoogde evaluatievolgorde wordt gevolgd.
Voorbeelden van de SQL OR-operator in de praktijk
De OR-operator kan in verschillende SQL-queries worden gebruikt om records op te halen of data in de database te bewerken. Hieronder staan voorbeelden van gebruikssituaties van de OR-operator.
Data filteren met meerdere voorwaarden
De OR-operator wordt vooral gebruikt om records te filteren op basis van twee of meer voorwaarden. Deze methode is belangrijk wanneer je de zoekcriteria in de database wilt verbreden. Het volgende voorbeeld filtert en retourneert records van werknemers uit New York City of met een salaris boven $80.000.
-- Select columns
SELECT first_name, last_name, department, city, salary
FROM employees
-- Employees in New York City
WHERE city = 'New York'
-- Employees with salary over 80,000
OR salary > 80000;
De OR-operator gebruiken in INSERT-instructies
Je kunt de OR-operator met INSERT-instructies gebruiken om nieuwe records in te voegen in de tabel als aan de opgegeven voorwaarde wordt voldaan. In het onderstaande voorbeeld voegt de query een nieuw record toe aan de tabel employees als de werknemer óf in de HR-afdeling zit óf meer dan $60.000 verdient. De onderstaande query is consistent voor SQL Server-, MySQL- en PostgreSQL-databases.
-- Insert a new record into the 'employees' table
INSERT INTO employees (employee_id, first_name, last_name, department, salary, city)
SELECT 49, 'Anna', 'Johnson', 'HR', 62000, 'New York'
-- First condition: department is 'HR'
WHERE 'HR' = 'HR'
-- Second condition: salary is greater than $60,000
OR 62000 > 60000;
In de Oracle-database is de INSERT-instructie anders en vereist deze een FROM-clausule met de tabel dual, een speciale tabel met één rij en één kolom in de database. Volg onze cursus Introduction to SQL Server als je specifiek met SQL Server gaat werken.
-- Insert a new record into the 'employees' table
INSERT INTO employees (employee_id, first_name, last_name, department, salary, city)
SELECT 49, 'Anna', 'Johnson', 'HR', 62000, 'New York'
FROM dual
WHERE 'HR' = 'HR' -- First condition: department is 'HR'
OR 62000 > 60000; -- Second condition: salary is greater than $60,000
De OR-operator gebruiken in de UPDATE-instructie
De UPDATE-instructie wordt in SQL gebruikt om bestaande records in een tabel te wijzigen. Je kunt de OR-operator in de UPDATE-instructie gebruiken om deze records te wijzigen op basis van meerdere voorwaarden, zodat alleen de records die aan de voorwaarden voldoen worden aangepast.
In het onderstaande voorbeeld gebruiken we de OR-operator om het salaris van de werknemer bij te werken als diegene in de Finance-afdeling zit of in Chicago woont.
-- Update the salary for the employee
UPDATE employees
-- Increase salary by 10%
SET salary = salary * 1.1
-- First condition: department is 'Finance'
WHERE department = 'Finance'
-- Second condition: employees in Chicago City
OR city = 'Chicago';
De OR-operator gebruiken in de DELETE-instructie
De DELETE-instructie in SQL wordt op vergelijkbare wijze gebruikt om bestaande records uit een tabel te verwijderen. Je kunt de OR-operator met de DELETE-instructie gebruiken om records uit een tabel te verwijderen op basis van specifieke voorwaarden.
De onderstaande query verwijdert records uit de tabel employees waarbij de werknemer uit Chicago komt of $60.000 verdient.
-- Delete records from the 'employees' table
DELETE FROM employees
-- First condition: employees from Chicago
WHERE city = 'Chicago'
-- Second condition: employees earning 60000
OR salary = 60000;
Prestatie-overwegingen bij SQL OR-queries
Bij grote datasets kun je prestatieproblemen ervaren met de OR-operator. Dit kan leiden tot trage bewerkingen bij het filteren van records uit grote datasets. Hieronder staan de meest voorkomende prestatieproblemen en hoe je ze kunt beperken.
Volledige tabelscans
Bij gebruik van de OR-operator in grote datasets worden vaak volledige tabelscans uitgevoerd, vooral wanneer er geen geschikte indexering is. Dit kan de uitvoeringstijd van de query vertragen, omdat de tabel rij voor rij wordt geëvalueerd. Om dit te voorkomen, moet je de vereiste kolommen indexeren, zodat de database-engine de kolommen sneller en eenvoudiger kan vinden voor de tabelscan.
Complexe voorwaardeevaluatie
Wanneer je de OR-operator gebruikt om meerdere voorwaarden in een tabel te evalueren, kan de query aanzienlijk trager worden, vooral wanneer er niet goed is geïndexeerd. Bij complexe OR-voorwaarden kan het herstructureren van de query in kleinere delen, zoals het gebruik van subqueries, de prestaties verbeteren.
Redundante voorwaarden
Het opnemen van onnodige OR-voorwaarden kan de query vertragen, omdat alle voorwaarden moeten worden geëvalueerd. Alleen de nodige OR-voorwaarden gebruiken en die welke waarschijnlijk waar zijn, helpt de query te vereenvoudigen en te versnellen.
Alternatieven voor de OR-operator
Als je prestatieproblemen ondervindt met de OR-operator, kun je de volgende alternatieven overwegen om data op basis van meerdere voorwaarden te filteren.
De UNION-operator gebruiken
De UNION-operator wordt vooral gebruikt om resultaten van twee of meer SELECT-instructies te combineren wanneer verschillende indexering nodig is. In de onderstaande query combineert de UNION-operator de bewerkingen om records van employees uit de IT-department van New York city te filteren en terug te geven. Lees onze tutorial UNION vs UNION ALL in SQL als je nog niet bekend bent met UNION.
-- Use UNION instead of OR for better performance
SELECT first_name, last_name, department, city
FROM employees
-- First condition
WHERE department = 'IT'
UNION
SELECT first_name, last_name, department, city
FROM employees
-- Second condition
WHERE city = 'New York';
CASE-instructies gebruiken
De CASE-instructie is een belangrijk alternatief voor de OR-operator als je logische voorwaarden in de query wilt opnemen. De CASE-instructie verbetert de queryprestaties dankzij de optimale uitvoering. De onderstaande query gebruikt de CASE-instructie om afdelingen op basis van meerdere voorwaarden te categoriseren.
-- Select first name, last name, and a derived category based on conditions
SELECT first_name, last_name,
-- Use CASE to determine the category based on department or city
CASE
-- If department is 'IT', categorize as 'Tech' If city is 'New York', categorize as 'NYC'
WHEN department = 'IT' THEN 'Tech'
WHEN city = 'New York' THEN 'NYC' --
ELSE 'Other'
END AS category
FROM employees;
Bekijk onze skill track SQL Fundamentals om meer te leren over de UNION-operator en de CASE-instructie voor datamanipulatie.
Conclusie
De OR-operator is een veelzijdige SQL-operator voor het bouwen van flexibele en complexe queries. Met de OR-operator kun je tabelrecords filteren op basis van meerdere voorwaarden. Zoals we hebben gezien, kun je met de OR-operator in combinatie met andere instructies zoals INSERT, UPDATE en DELETE ook records in tabellen wijzigen. Als data-analist is het belangrijk om de prestatieproblemen met de OR-operator en alternatieve methoden, zoals de UNION-operator en CASE WHEN-instructies, te begrijpen.
Ik moedig je aan om de OR-operator te oefenen met verschillende datasets om vertrouwd te raken met de functionaliteit. Wil je je SQL-vaardigheden verdiepen? Overweeg dan onze carrièretrack Associate Data Analyst in SQL om een vaardige analist te worden. De cursus Reporting in SQL helpt je ook om data te analyseren en te presenteren met dashboards. Tot slot raad ik DataCamp’s SQL Associate Certification aan om je vaardigheden en deskundigheid in SQL voor data-analyse aan te tonen.

Veelgestelde SQL-vragen
Wat is het verschil tussen de OR- en AND-operator in SQL?
De OR-operator retourneert resultaten als een van de opgegeven voorwaarden waar is, terwijl de AND-operator resultaten retourneert als alle opgegeven voorwaarden waar zijn.
Kan de OR-operator samen met de AND-operator in één query worden gebruikt?
Je kunt de OR-operator en de AND-operator gebruiken om records te filteren op basis van meerdere voorwaarden. Gebruik wel haakjes om de voorwaarden te groeperen en de volgorde van query-uitvoering te bepalen.
Zijn er beperkingen aan het aantal voorwaarden om te filteren met de OR-operator in SQL?
Er is geen limiet aan het aantal voorwaarden om te filteren met de OR-operator, al kan een teveel aan voorwaarden de prestaties van de query beïnvloeden.
Kan de OR-operator worden gebruikt om data in tabellen te wijzigen?
Je kunt de OR-operator gebruiken met de instructies INSERT, UPDATE en DELETE om opgegeven records in de tabel te wijzigen.
Wat zijn SQL-alternatieven voor de OR-operator?
De UNION-operator en de CASE WHEN-instructies zijn alternatieven voor de OR-operator om records te filteren op basis van meerdere voorwaarden.

De SQL-operator
ORis een logische operator die in queries wordt gebruikt om data te filteren op basis van meerdere voorwaarden. DeOR-operator wordt meestal gebruikt in deWHERE-clausule om resultaten terug te geven die aan de opgegeven voorwaarden voldoen. Dankzij deze functionaliteit is deOR-operator een belangrijk hulpmiddel voor flexibele gegevensopvraging.In deze tutorial laat ik met praktische voorbeelden verschillende gebruiksscenario’s van de
OR-operator in SQL-queries zien. Als je een beginnende data-analist bent of net met SQL start, raad ik DataCamp’s cursus Introduction to SQL aan om de basis van SQL te leren. De SQL Basics Cheat Sheet helpt je ook om veelgebruikte operatoren en functies voor het bevragen van tabellen, filteren en aggregeren te raadplegen.Wat is de SQL OR-operator?
De SQL-operator
ORwordt doorgaans gebruikt met deWHERE-clausule om data te filteren. In een query filtert deOR-operator de data zodat rijen worden opgenomen waarin ten minste één van de opgegeven voorwaarden waar is.De volgende query retourneert alle records uit de tabel
employeesdie in de HR-afdeling zitten of een salaris boven $60.000 hebben. Als een rij aan één van beide voorwaarden voldoet (of aan beide), wordt deze opgenomen in de queryresultaten.Voorbeeldtabeluitvoer gefilterd met de SQL OR-operator. Afbeelding door de auteur.
Bekijk DataCamp’s cursus Intermediate SQL om meer te leren over de
OR-operator en andere operatoren voor conditioneel datafilteren.