SQL BETWEEN: Werte innerhalb eines definierten Spektrums auslesen

SQL BETWEEN wird genutzt, um ein Wertespektrum für eine neue Ausgabe festzulegen. Der Operator funktioniert dabei mit Zahlen, Daten und Texten.

Was ist SQL BETWEEN?

Wenn Sie mit Hilfe der Structured Query Language innerhalb einer Datenbank jene Einträge ausgeben lassen möchten, die sich innerhalb eines definierten Wertespektrums befinden, ist der Operator SQL BETWEEN die beste Wahl. Dieser lässt sich nicht nur auf Zahlenwerte anwenden, sondern funktioniert auch mit Daten oder sogar Texteinträgen. Dabei arbeitet der Operator inklusiv, so dass der erste und der letzte Eintrag, mit denen das Spektrum begrenzt wird, mit in der Aufzählung enthalten sind. SQL BETWEEN wird in eine WHERE-Bedingung eingebaut und funktioniert mit den SQL-Befehlen DELETE, INSERT, SELECT und UPDATE.

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
  • Schneller NVMe-SSD-Speicher
  • Kostenlose Plesk Web Host Edition

Syntax und Funktionsweise

Sehen wir uns das Zusammenspiel von SQL BETWEEN mit dem Befehl SELECT und der Bedingung WHERE genauer an. Die entsprechende Syntax sieht so aus:

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

Mit spalte1, spalte2 usw. spezifizieren 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 berücksichtigt 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 Funktionsweise von SQL BETWEEN besser veranschaulichen zu können, erstellen wir eine beispielhafte Tabelle namens „Kundenliste“. In dieser listen wir die Kundennummer, den Namen, den Standort, das Bestelldatum, die Anzahl der bestellten Artikel und den Gesamtbetrag in Euro auf, den diese Kundinnen und Kunden bezahlt haben.

Kundennummer Name Standort Datum Artikel Gesamtbetrag
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 anzuzeigen, die zwischen 300 und 700 Euro im veranschlagten Zeitraum investiert haben. Dies ist der entsprechende Code:

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

Die entsprechende Ausgabe sieht dann aus wie folgt:

Kundennummer Name Standort Datum Artikel Gesamtbetrag
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 Wertespektrum

SQL BETWEEN funktioniert allerdings auch mit Wörtern. Ausschlaggebend sind dabei die Anfangsbuchstaben der hinterlegten Textwerte. Im folgenden Beispiel wollen wir lediglich jene Einträge berücksichtigen, die sich alphabetisch 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:

Kundennummer Name Standort Datum Artikel Gesamtbetrag
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 berücksichtigt, da der Operator inklusiv funktioniert. Mit der Anweisung ORDER BY Name weisen wir eine Ausgabe in alphabetischer Reihenfolge an.

Auswählen nach Datum

Wenn Sie lediglich Bestellvorgänge einsehen möchten, die in einem bestimmten zeitlichen Rahmen bearbeitet wurden, ist auch das mit SQL BETWEEN möglich. Im folgenden Beispiel filtern wir unsere Kundenliste nach Bestellungen 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:

Kundennummer Name Standort Datum Artikel Gesamtbetrag
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 Operatoren wie SQL BETWEEN

Sie können aber auch lediglich Ergebnisse anzeigen, die sich außerhalb des definierten Spektrums befinden. Dafür verwenden Sie NOT BETWEEN. Die Herangehensweise ist sehr ähnlich. Möchten wir in unserem Beispiel lediglich die Kundinnen und Kunden anzeigen, die weniger als 300 oder mehr als 700 Euro ausgegeben haben, funktioniert das folgendermaß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:

Kundennummer Name Standort Datum Artikel Gesamtbetrag
1377 Schulz Hamburg 1/19/2024 9 220
1431 Müller München 1/19/2024 22 912
Tipp

Server-Hosting nach Ihren Vorstellungen: Mit SQL-Server-Hosting von IONOS wählen Sie nicht nur zwischen MSSQL, MySQL oder MariaDB, sondern profitieren auch von persönlicher Beratung und einer unschlagbaren Performance.

War dieser Artikel hilfreich?
Page top