Zurück zur Artikelliste Artikel
7 Leseminuten

Der SQL BETWEEN-Operator

SQL-Vergleichsoperatoren sind wichtige Werkzeuge zum Filtern von Daten in Datenbankabfragen. Unter diesen Operatoren ist der BETWEEN Operator als wichtiges Werkzeug für die Angabe von Bereichen innerhalb von Datensätzen hervor.

SQL-Vergleichsoperatoren, wie z. B. BETWEEN, sind nützlich für die Filterung von Daten in Datenbankabfragen. Mit dem Operator BETWEEN können Sie Zeilen innerhalb eines bestimmten Bereichs auswählen, was ihn ideal für Aufgaben wie die Segmentierung eines Publikums nach Altersgruppen, die Ermittlung von Schwellenwerten für Artikel zwischen bestimmten Mengen oder die Kategorisierung von Leistungen auf der Grundlage von Prüfungsergebnissen macht.

In diesem Artikel werden wir die Grundlagen des SQL-Operators BETWEEN erläutern. Der Schwerpunkt liegt auf praktischen Beispielen und realistischen Ratschlägen, wie Sie das Beste aus ihm herausholen können. Ganz gleich, ob Sie ein SQL-Anfänger sind oder Ihre Fähigkeiten verbessern wollen, das Verständnis des Operators SQL BETWEEN wird Ihre SQL-Abfragen verbessern.

Wenn Sie neu in SQL sind, schauen Sie sich doch mal unseren SQL für Anfänger Kurs? Wenn Sie Ihre SQL-Kenntnisse auffrischen und festigen möchten, wird unser SQL-Praxis Kurs wird Sie auf Ihrem Lernweg weiterbringen.

In diesem Sinne, lassen Sie uns damit beginnen, die Macht von SQL BETWEEN zu entdecken!

Den SQL BETWEEN-Operator verstehen

BETWEEN Grundsyntax

Der SQL BETWEEN Operator folgt einer einfachen Syntax. Fällt es Ihnen schwer, sich die SQL-Syntax und die Namen der Operatoren zu merken? Keine Sorge, mit unserem SQL-Spickzettel sind Sie bestens gerüstet!

Die typische Struktur für BETWEEN ist wie folgt:

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Lassen Sie uns die Syntax aufschlüsseln:

  • SELECT: Gibt an, aus welchen Spalten Daten abgerufen werden sollen.
  • FROM: Die Tabelle, die die Daten speichert.
  • WHERE: Filtert die Zeilen nach bestimmten Kriterien.
  • BETWEEN: Der BETWEEN Operator selbst.
  • value1: Die untere Grenze des Bereichs.
  • value2: Die obere Grenze des Bereichs.

Ein praktisches Beispiel für BETWEEN

Es ist wichtig zu wissen, dass der Operator BETWEEN sowohl die untere als auch die obere Grenze einschließt . Mit anderen Worten, er schließt die Werte value1, value2 und jeden Wert, der dazwischen liegt, in die Ergebnismenge ein. Lassen Sie uns dies an einem Beispiel erläutern.

Stellen Sie sich vor, Sie arbeiten in einem Kaufhaus und möchten alle Informationen über unsere Produkte abrufen, deren Preis zwischen 12,99 $ und 19,99 $ liegt:

SELECT *
FROM products
WHERE price BETWEEN 12.99 AND 19.99;

Diese Abfrage gibt alle Zeilen aus der Tabelle products Tabelle zurück, deren Preis gleich 12,99, 19,99 oder gleich einem beliebigen Preis zwischen 12,99 und 19,99 ist. Wie hier zu sehen ist, vereinfacht und verdeutlicht die Verwendung des BETWEEN -Operators den Code, wodurch er leichter zu lesen und zu pflegen ist. Weitere praktische Beispiele für Anfänger finden Sie in unseren 10 Anfänger-Übungen mit Lösungen unter SQL-Praxis .

Vereinfachung von Abfragen mit BETWEEN

Sie haben vielleicht schon bemerkt, dass der Operator BETWEEN im Wesentlichen eine Abkürzung für die Kombination der Operatoren >= und <= ist. Die Verwendung der Syntax column_name BETWEEN value1 AND value2 ist gleichbedeutend mit der Angabe von column_name >= value1 AND column_name <= value2. Wendet man diese Syntax auf unsere vorherige Abfrage an, erhält man das gleiche Ergebnis:

SELECT *
FROM products
WHERE price >= 50 AND price <= 100;

Der Operator BETWEEN bietet jedoch eine kompaktere und offensichtlichere Syntax als die Verwendung der Operatoren >= und <=. Er vereinfacht die Abfrageerstellung, reduziert Fehler und verbessert die Lesbarkeit, was ihn zur empfohlenen Methode für die Angabe von Bereichsbedingungen in SQL-Abfragen macht.

Der NOT BETWEEN-Operator

In SQL verwenden wir oft den logischen Operator NOT, um Zeilen aus unseren Daten zu entfernen, die die gegebene Bedingung nicht erfüllen. In ähnlicher Weise können wir NOT BETWEEN verwenden, um das gegenteilige Ergebnis des BETWEEN Operators zu erzielen.

Mit anderen Worten: Der Operator BETWEEN filtert nach Ergebnissen innerhalb des angegebenen Bereichs. Mit dem Operator NOT BETWEEN werden Ergebnisse außerhalb des Bereichs herausgefiltert.

Betrachten wir ein Szenario, in dem wir alle Daten aus der Tabelle customers Tabelle extrahieren möchten, bei denen das Alter der Kunden nicht zwischen 25 und 30 liegt. Dies können wir mit dem NOT BETWEEN Operator erreichen:

SELECT *
FROM customers
WHERE age NOT BETWEEN 25 AND 30;

In dieser Abfrage:

  • SELECT *: Gibt an, dass wir alle Spalten abrufen möchten.
  • FROM Kunden: Die Tabelle, aus der die Daten abgerufen werden sollen.
  • WHERE AGE IS NOT BETWEEN 25 AND 30: Wählt Zeilen aus, in denen der Wert der Spalte Alter unter 25 und über 30 liegt.

Weitere Beispiele für diese Methode sind die Suche nach Produkten, deren Mengen außerhalb eines bestimmten Bereichs liegen, die Suche nach Mitarbeitern, die außerhalb eines bestimmten Zeitraums beschäftigt sind, oder die Identifizierung von Verbrauchern, deren Gesamteinkäufe unter oder über einem bestimmten Betrag liegen.

Verwendung des BETWEEN-Operators mit Textwerten

Der SQL-Operator BETWEEN wird zwar oft mit numerischen Bereichen in Verbindung gebracht, kann aber auch auf Textwerte angewendet werden.

Stellen Sie sich vor, wir sind wieder im Kaufhausszenario mit der Tabelle products. Unter Verwendung der Spalte category (die Produktkategorien als Textwerte enthält) wollen wir alle Kategorien abrufen, die alphabetisch zwischen bestimmten Kategorien liegen.

SELECT *
FROM products
WHERE category BETWEEN 'Electronics' AND 'Toys and Games';

In dieser Abfrage:

  • SELECT *: Gibt an, dass wir alle Spalten abrufen möchten.
  • FROM Produkte: Die Tabelle, aus der die Daten abgerufen werden sollen.
  • WHERE category IS BETWEEN 'Electronics' AND 'Toys and Games': Filtert die Zeilen so, dass nur die Zeilen enthalten sind, deren Wert in der Spalte Kategorie zwischen 'Electronics' und 'Toys and Games' liegt, und zwar in alphabetischer Reihenfolge.

Wie Sie sehen, ermöglicht die Verwendung des SQL-Operators BETWEEN mit Textwerten das einfache Filtern von Daten auf der Grundlage der alphabetischen Reihenfolge. Ein weiteres Beispiel wäre das Abrufen von Informationen über Kunden, deren Nachnamen in einen bestimmten alphabetischen Bereich fallen:

SELECT *
FROM customers
WHERE last_name BETWEEN 'B' AND 'G';

In ähnlicher Weise könnten Sie im Kaufhausszenario Spalten filtern, die einer Reihenfolge folgen (z. B. Produktcodes):

SELECT *
FROM products
WHERE product_code BETWEEN 'C100' AND 'C150';

Diese Beispiele zeigen nicht nur die praktische Anwendbarkeit des BETWEEN Operators, sondern auch seine Vielseitigkeit beim Filtern von mehr als nur numerischen Daten.

Verwendung des SQL BETWEEN-Operators mit Daten

Der BETWEEN Operator in SQL kann auch für die Auswahl von Daten innerhalb bestimmter Datumsperioden nützlich sein.

Kehren wir zu unserem Kaufhaus-Szenario zurück und stellen uns vor, wir haben eine Tabelle namens orders mit einer Spalte namens order_date, die die Daten der Bestellungen enthält. Schauen wir uns an, wie wir auf diese Weise alle Bestellungen abrufen können, die in der ersten Woche des April 2024 aufgegeben wurden:

SELECT * FROM sales
WHERE sale_date BETWEEN '2024-04-01' AND '2024-04-07';

In dieser Abfrage:

  • SELECT *: Gibt an, dass wir alle Spalten abrufen wollen.
  • FROM sales: Gibt die Tabelle an, aus der die Daten abgerufen werden sollen.
  • WHERE sales_date BETWEEN '2024-04-01' AND '2024-04-07': Filtert die Zeilen auf diejenigen, deren order_date zwischen dem 1. April 2024 und dem 7. April 2024 einschließlich liegt.

Wichtig: Wenn Sie den Operator BETWEEN mit Datums- oder Zeitstempeldaten verwenden, schließt er sowohl das Start- als auch das Enddatum ein, nicht aber die Zeitkomponente. Das Schreiben von '2024-04-07' entspricht '2024-04-07 00:00:00'. Die Ergebnisse dieser Abfrage enthalten Zeilen von '2024-04-01 00:00:00' (d. h. 12 Uhr am 1. April) bis '2024-04-07 00:00:00', was bedeutet, dass Verkäufe nach Mitternacht am 7. April ausgeschlossen sind. Um diese Einschränkung zu umgehen, können Sie Ihre Abfrage wie folgt erweitern:

SELECT * FROM sales 
WHERE sale_date >= '2024-04-01' AND sale_date <= '2024-04-07';

Um Fehler zu vermeiden, ist es besser, die Operatoren <= (kleiner oder gleich) und >= (größer oder gleich) zu verwenden, insbesondere wenn Sie sich über den Datentyp nicht sicher sind. Wenn Sie diese Methode verwenden, schließen Sie den gesamten Datumsbereich ein, einschließlich aller Zeitstempel innerhalb der angegebenen Daten.

Zeit, SQL BETWEEN zu üben

Zusammenfassend lässt sich sagen, dass der Operator SQL BETWEEN ein unverzichtbares Werkzeug in Ihrem SQL-Toolkit ist. Er kann für eine Vielzahl von Datentypen verwendet werden, darunter Zahlen, Text und Daten. Seine einfache Syntax und sein umfassender Charakter machen ihn zu einer idealen Wahl für das Filtern von Zeilen nach bestimmten Kriterien.

Es ist jedoch wichtig, sich des Verhaltens von BETWEEN bewusst zu sein - insbesondere beim Umgang mit Datums- und Zeitstempelwerten -, um die Zuverlässigkeit Ihrer Ergebnisse zu gewährleisten. Obwohl der Operator BETWEEN Bereichsbedingungen prägnant ausdrückt, ist es besser, die Syntax <= AND >= zu verwenden, um einen vollständigen Datumsbereich einzuschließen.

Wenn Sie die Syntax, die Verwendung und das Verhalten von SQL BETWEEN verstehen, können Sie die Abfrageleistung und die Genauigkeit der Datenabfrage verbessern. Der BETWEEN Operator ist ein unverzichtbares Werkzeug für SQL-Experten, das optimierte Datenbankprozesse und eine effiziente Datenextraktion ermöglicht. Sind Sie bereit, tiefer einzusteigen? Probieren Sie unseren SQL-Praxis Kurs und erstellen Sie Ihre eigenen BETWEEN Abfragen!