Cursus
De SQL-operator BETWEEN is een hulpmiddel om waarden binnen een bepaald bereik te filteren. Hij wordt opgenomen in de SELECT-instructie om queries te vereenvoudigen en de leesbaarheid te verbeteren.
Als je nieuw bent met SQL, raad ik je aan om de cursussen Introduction to SQL en SQL Fundamentals te volgen om je SQL-kennis snel op te bouwen en een vaardige analist te worden.
Het korte antwoord: wat is de SQL BETWEEN-operator?
De BETWEEN-operator filtert en retourneert rijen in een dataset binnen een bepaald bereik. Wanneer hij in de SELECT-instructie staat, retourneert de BETWEEN-operator de opgegeven begin- en eindwaarden. Deze krachtige operator kan waarden teruggeven binnen verschillende SQL-datatypen, waaronder datums, numerieke waarden en tekenreeksen.
In het onderstaande voorbeeld wordt de query gebruikt om alle werknemersrecords te selecteren met salarissen tussen 50.000 en 60.000 uit de tabel employees. Onthoud dat de BETWEEN-operator inclusief is, dus 50.000 en 60.000 worden beide in het resultaat opgenomen.
-- Select all columns from the Employees table
SELECT *
FROM employees
-- Filter the results to include only employees with salaries between 50,000 and 60,000
WHERE salary BETWEEN 50000 AND 60000;
Syntaxis van de SQL BETWEEN-operator
De BETWEEN-operator heeft een eenvoudige syntaxis in de SELECT-instructie om waarden te filteren. Hij wordt gebruikt binnen de WHERE-clausule om de onder- en bovengrenzen van het te filteren databereik te specificeren.
-- Select the specified columns from the table
SELECT column_name(s)
FROM table_name
-- Filter the results to include only those where column_name values fall between (inclusive)
WHERE column_name BETWEEN value1 AND value2;
De SQL Basics Cheat Sheet van DataCamp is ook handig als je de syntaxis van veelvoorkomende operators, waaronder BETWEEN, wilt naslaan.
Belangrijke aandachtspunten over SQL BETWEEN
Wanneer je de BETWEEN-operator gebruikt, is het belangrijk te weten dat deze in de WHERE-clausule van de SELECT-instructie staat. Deze plaatsing zorgt ervoor dat de BETWEEN-operator de kolom filtert die door de WHERE-clausule wordt aangegeven.
-- Select all columns from the Employees table
SELECT *
FROM employees
-- Filter the results to include only employees with employeee_id between 10 and 18
WHERE employee_id BETWEEN 10 AND 18;
De BETWEEN-operator heeft de voorkeur voor het filteren van waarden binnen bereiken omdat hij beknopt filtert. De syntaxis is eenvoudig en verbetert de leesbaarheid van queries wanneer je meerdere voorwaarden filtert.
Zonder de BETWEEN-operator gebruiken we andere operators om vergelijkbare resultaten te bereiken. Let op de opname van de operators in de WHERE-clausule, wat de query minder leesbaar en complexer maakt.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than or equal to 50,000
-- and less than or equal to 60,000
WHERE salary >= 50000 AND salary <= 60000;
De query is leesbaarder en makkelijker te begrijpen met de BETWEEN-operator.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is between 50,000 and 60,000 (inclusive)
WHERE salary BETWEEN 50000 AND 60000;
Onthoud altijd dat de waarden die je bij de BETWEEN-operator opgeeft, in de resultaten zijn inbegrepen. De SQL-query retourneert records waarbij deze waarden als onder- en bovengrens van de data zijn opgenomen.
Veelvoorkomende use-cases van SQL BETWEEN
De BETWEEN-operator heeft verschillende use-cases bij het filteren van data, waaronder het filteren van numerieke of datumbereiken. Laten we eens kijken.
Numerieke bereiken filteren met BETWEEN
De BETWEEN-operator wordt vaak gebruikt om numerieke data te filteren. In dit scenario kun je data filteren om records binnen een bepaald bereik op te halen. In het onderstaande voorbeeld filteren we de tabel employees om rijen terug te geven met salarissen tussen 62.000 en 70.000.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter the results to include only those employees whose salary is between 62,000 and 70,000 (inclusive)
WHERE salary BETWEEN 62000 AND 70000;
Datumbereiken filteren met BETWEEN
De BETWEEN-operator kan ook records binnen bepaalde datumbereiken filteren. Deze toepassing is handig bij het analyseren van data met datum- en tijdwaarden.
Stel dat we een kolom hire_date hebben in onze tabel employees. Dan kunnen we de BETWEEN-operator gebruiken om de datums te filteren en records te vinden van medewerkers die in een specifieke periode zijn aangenomen.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where hire date is between January 1, 2022, and December 31, 2022 (inclusive)
WHERE hire_date BETWEEN '2022-01-01' AND '2022-12-31';
BETWEEN combineren met andere operators
Je kunt de BETWEEN-operator ook combineren met andere operators om complexe filterscenario’s te realiseren. Deze techniek is belangrijk als je specifiek wilt filteren. In het onderstaande voorbeeld hebben we de gelijkheidsoperator (=) in de WHEN-clausule gebruikt om rijen te filteren die alleen de Sales-afdeling bevatten. De query gebruikt vervolgens de BETWEEN-operator om de records verder te filteren, waaronder die met salarissen tussen 50.000 en 60.000.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where department is 'Sales' and salary is between 50,000 and 60,000 (inclusive)
WHERE department = 'Sales' AND salary BETWEEN 50000 AND 60000;
Ik raad je aan om eens door de collectie SQL-cursussen van DataCamp te bladeren om een cursus te vinden die bij je past.
Beperkingen van het SQL Between-commando
Tot slot kijken we naar enkele beperkingen en alternatieven.
Beperkingen van de BETWEEN-operator in SQL
De mogelijke beperkingen van de SQL-operator BETWEEN zijn onder andere:
- Potentiële verwarring door inclusieve grenzen: Omdat de
BETWEEN-operator de opgegeven waarden als boven- en ondergrens opneemt, kan dit bij verkeerd gebruik tot verwarring of onverwachte resultaten leiden. - Prestatieproblemen bij grote datasets: Het gebruik van de
BETWEEN-operator zonder indexen te specificeren kan tot prestatieproblemen leiden, vooral bij grote datasets.
Alternatieven voor de BETWEEN-operator in SQL
Omdat de BETWEEN-operator de opgegeven waarden als onder- en bovengrens opneemt, kunnen we de kleiner-dan (<) en groter-dan (>) operators gebruiken om exclusief te filteren. Deze techniek zorgt ervoor dat deze waarden niet in de resultaten worden opgenomen.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than 50,000
-- and less than 60,000 (exclusive)
WHERE salary > 50000 AND salary < 60000;
Conclusie
De BETWEEN-operator in SQL is handig om waarden binnen opgegeven bereiken te filteren. Begrijpen hoe belangrijk het gebruik van de BETWEEN-operator is voor het filteren en manipuleren van data, is belangrijk voor data-analisten. Ik raad je aan om de BETWEEN-operator te blijven oefenen met verschillende datasets voor verschillende SQL-datatypen om je SQL-vaardigheden te verbeteren.
Blijven leren helpt je om je te onderscheiden op de arbeidsmarkt. Ik raad je aan om de meer geavanceerde cursus Reporting in SQL te volgen en de uitgebreide carrièreroute Associate Data Analyst in SQL te overwegen. Tot slot biedt DataCamp ook een SQL Associate Certification om je professionele prestatie in het gebruik van SQL voor data-analyse te laten zien.
Veelgestelde vragen
Wat doet de SQL BETWEEN-operator?
De SQL-operator BETWEEN filtert data binnen een bereik van waarden.
Hoe gebruik je de SQL BETWEEN-operator?
De SQL-operator BETWEEN wordt gebruikt binnen de WHERE-clausule om data in een opgegeven kolom te filteren.
Met welke SQL-datatypen kan ik de BETWEEN-operator gebruiken?
De BETWEEN-operator kan worden gebruikt met verschillende datatypen, waaronder datums, numerieke waarden en tekenreeksen.
Kan ik de BETWEEN-operator met andere operators gebruiken?
Je kunt andere operators opnemen in de WHERE-clausule vóór de BETWEEN-operator voor geavanceerd filteren.
Welke alternatieven kan ik gebruiken om sommige records uit mijn data uit te sluiten?
Je kunt de operators > en < gebruiken om te voorkomen dat de onder- en bovengrens worden meegenomen wanneer je de SQL-operator BETWEEN gebruikt.

