SQL BETWEEN wird genutzt, um ein Wer­te­spek­trum für eine neue Ausgabe fest­zu­le­gen. Der Operator funk­tio­niert dabei mit Zahlen, Daten und Texten.

Was ist SQL BETWEEN?

Wenn Sie mit Hilfe der Struc­tu­red Query Language innerhalb einer Datenbank jene Einträge ausgeben lassen möchten, die sich innerhalb eines de­fi­nier­ten Wer­te­spek­trums befinden, ist der Operator SQL BETWEEN die beste Wahl. Dieser lässt sich nicht nur auf Zah­len­wer­te anwenden, sondern funk­tio­niert auch mit Daten oder sogar Text­ein­trä­gen. Dabei arbeitet der Operator inklusiv, so dass der erste und der letzte Eintrag, mit denen das Spektrum begrenzt wird, mit in der Auf­zäh­lung enthalten sind. SQL BETWEEN wird in eine WHERE-Bedingung eingebaut und funk­tio­niert mit den SQL-Befehlen DELETE, INSERT, SELECT und UPDATE.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Syntax und Funk­ti­ons­wei­se

Sehen wir uns das Zu­sam­men­spiel von SQL BETWEEN mit dem Befehl SELECT und der Bedingung WHERE genauer an. Die ent­spre­chen­de Syntax sieht so aus:

SELECT spalte1, spalte2, …
FROM name_der_tabelle
WHERE name_der_spalte BETWEEN anfangswert AND endwert;
sql

Mit spalte1, spalte2 usw. spe­zi­fi­zie­ren Sie, welche Spalten angezeigt werden sollen. Dann geben Sie den Namen der Tabelle an, in der diese Spalten zu finden sind. Unter name_der_spalte legen Sie fest, welche Werte genau be­rück­sich­tigt werden sollen, und geben dann mit BETWEEN anfangswert AND endwert das Spektrum an, in dem sich die Werte befinden sollen.

Beispiel für den Einsatz des Operators

Um die Funk­ti­ons­wei­se von SQL BETWEEN besser ver­an­schau­li­chen zu können, erstellen wir eine bei­spiel­haf­te Tabelle namens „Kun­den­lis­te“. In dieser listen wir die Kun­den­num­mer, den Namen, den Standort, das Be­stell­da­tum, die Anzahl der be­stell­ten Artikel und den Ge­samt­be­trag in Euro auf, den diese Kundinnen und Kunden bezahlt haben.

Kun­den­num­mer Name Standort Datum Artikel Ge­samt­be­trag
1427 Schmidt Berlin 1/13/2024 14 634
1377 Schulz Hamburg 1/19/2024 9 220
1212 Peters Hamburg 1/3/2024 15 619
1431 Müller München 1/19/2024 22 912
1118 Becker Passau 2/1/2024 10 312

Möchten wir nun diese Liste filtern, können wir dazu den Operator benutzen. So ist es zum Beispiel möglich, lediglich jene Kundinnen und Kunden an­zu­zei­gen, die zwischen 300 und 700 Euro im ver­an­schlag­ten Zeitraum in­ves­tiert haben. Dies ist der ent­spre­chen­de Code:

SELECT Kundennummer, Name, Standort, Datum, Artikel, Gesamtbetrag
FROM Kundenliste
WHERE Gesamtbetrag BETWEEN 300 AND 700;
sql

Die ent­spre­chen­de Ausgabe sieht dann aus wie folgt:

Kun­den­num­mer Name Standort Datum Artikel Ge­samt­be­trag
1427 Schmidt Berlin 1/13/2024 14 634
1212 Peters Hamburg 1/3/2024 15 619
1118 Becker Passau 2/1/2024 10 312

Wörter als Wer­te­spek­trum

SQL BETWEEN funk­tio­niert al­ler­dings auch mit Wörtern. Aus­schlag­ge­bend sind dabei die An­fangs­buch­sta­ben der hin­ter­leg­ten Textwerte. Im folgenden Beispiel wollen wir lediglich jene Einträge be­rück­sich­ti­gen, die sich al­pha­be­tisch zwischen „Müller“ und „Schmidt“ befinden. Dies ist der Code:

SELECT Kundennummer, Name, Standort, Datum, Artikel, Gesamtbetrag
FROM Kundenliste
WHERE Name BETWEEN 'Müller' AND 'Schmidt'
ORDER BY Name;
sql

Als Ausgabe erhalten wir diese neue Tabelle:

Kun­den­num­mer Name Standort Datum Artikel Ge­samt­be­trag
1431 Müller München 1/19/2024 22 912
1212 Peters Hamburg 1/3/2024 15 619
1427 Schmidt Berlin 1/13/2024 14 634

Die Einträge „Müller“ und „Schmidt“ werden be­rück­sich­tigt, da der Operator inklusiv funk­tio­niert. Mit der Anweisung ORDER BY Name weisen wir eine Ausgabe in al­pha­be­ti­scher Rei­hen­fol­ge an.

Auswählen nach Datum

Wenn Sie lediglich Be­stell­vor­gän­ge einsehen möchten, die in einem be­stimm­ten zeit­li­chen Rahmen be­ar­bei­tet wurden, ist auch das mit SQL BETWEEN möglich. Im folgenden Beispiel filtern wir unsere Kun­den­lis­te nach Be­stel­lun­gen zwischen dem 10. und dem 31. Januar 2024. Dies ist der Code:

SELECT Kundennummer, Name, Standort, Datum, Artikel, Gesamtbetrag
FROM Kundenliste
WHERE Datum BETWEEN '1/10/2024' AND '1/31/2024';
sql

Als Ergebnis erhalten wir diese Tabelle:

Kun­den­num­mer Name Standort Datum Artikel Ge­samt­be­trag
1427 Schmidt Berlin 1/13/2024 14 634
1377 Schulz Hamburg 1/19/2024 9 220
1431 Müller München 1/19/2024 22 912

Ähnliche Ope­ra­to­ren wie SQL BETWEEN

Sie können aber auch lediglich Er­geb­nis­se anzeigen, die sich außerhalb des de­fi­nier­ten Spektrums befinden. Dafür verwenden Sie NOT BETWEEN. Die Her­an­ge­hens­wei­se ist sehr ähnlich. Möchten wir in unserem Beispiel lediglich die Kundinnen und Kunden anzeigen, die weniger als 300 oder mehr als 700 Euro aus­ge­ge­ben haben, funk­tio­niert das fol­gen­der­ma­ßen:

SELECT Kundennummer, Name, Standort, Datum, Artikel, Gesamtbetrag
FROM Kundenliste
WHERE Gesamtbetrag NOT BETWEEN 300 AND 700;
sql

Unsere Ausgabe enthält dann nur noch zwei Einträge:

Kun­den­num­mer Name Standort Datum Artikel Ge­samt­be­trag
1377 Schulz Hamburg 1/19/2024 9 220
1431 Müller München 1/19/2024 22 912
Tipp

Server-Hosting nach Ihren Vor­stel­lun­gen: Mit SQL-Server-Hosting von IONOS wählen Sie nicht nur zwischen MSSQL, MySQL oder MariaDB, sondern pro­fi­tie­ren auch von per­sön­li­cher Beratung und einer un­schlag­ba­ren Per­for­mance.

Zum Hauptmenü