MYSQL de BETWEEN operator
Home

MYSQL de BETWEEN operator

MYSQL de BETWEEN operator

Met de BETWEEN operator kan je een bereiktest (range test) tussen twee waarden uitvoeren. Dit is een veelgebruikt alternatief voor vergelijkingsoperatoren.

Probleem

Je wenst alle waarden die tussen twee waarden in liggen te selecteren, wissen of aanpassen. Je wil dit doen met een zo leesbaar mogelijke syntax.

Oplossing

Met de BETWEEN operator kan je een bereiktest (range test) tussen twee waarden uitvoeren. Om alle boeken te selecteren die in de vorige eeuw zijn verschenen kan je het volgende statement uitvoeren:

USE ModernWays;
SELECT Boeken.Familienaam, Boeken.Titel, Boeken.Verschijningsdatum
FROM Boeken
WHERE Boeken.Verschijningsdatum BETWEEN '1900' AND '1999'

Enkele opmerkingen over deze operator:

  1. De BETWEEN operator is langs beide kanten inclusief. Dat wil zeggen dat, in bovenstaande code, boeken verschenen in het jaar 1900 en ook boeken verschenen in het jaar 1999 getoond worden.
  2. De BETWEEN operator wordt vooral gebruikt bij datums en getallen. Je kan hem gebruiken op tekst, maar wees voorzichtig. Dan moet je nadenken over de gebruikte collation order!
  3. Deze operator doet eigenlijk niets nieuws. Je kan hetzelfde effect bereiken met een combinatie van <=, >= en de booleaanse operator AND.
  4. De AND die je in het voorbeeld ziet, is géén booleaanse operator! Aan de linkerkant en aan de rechterkant staan geen booleaanse waarden. We zeggen dat dit sleutelwoord overloaded is. Dit wil zeggen dat het meerdere gebruiken heeft.

Opdracht

Maak de volgende scripts (met gebruik van BETWEEN en eventueel andere zaken die je recent hebt gezien) en sla die op in het bestand met de naam BoekenSelectBetween.sql:

JI & VN
2019-03-28 19:57:24