- 1 1. Einführung
- 2 2. Grundlegende Syntax des BETWEEN-Operators
- 3 3. Angabe eines numerischen Bereichs
- 4 4. Angabe eines Datumsbereichs
- 5 5. Angabe eines String-Bereichs
- 6 6. Wichtige Hinweise bei der Verwendung von BETWEEN
- 7 7. Practical Queries and Advanced Examples
- 8 8. Visual Query Example
- 9 9. Summary
- 10 10. References
1. Einführung
Eines der wichtigen Elemente für die effiziente Ausführung von Abfragen in einer MySQL-Datenbank ist der BETWEEN-Operator. Dieser Operator ist äußerst nützlich, wenn überprüft werden soll, ob Daten in einem bestimmten Bereich liegen. Er wird verwendet, um Bereiche für Zahlen, Daten und Strings anzugeben, was eine effiziente Datenauswahl in Datenbanksuchen und -filtern ermöglicht. In diesem Artikel erklären wir detailliert, wie der MySQL-BETWEEN-Operator verwendet wird, mit praktischen Beispielen und wichtigen Hinweisen.
2. Grundlegende Syntax des BETWEEN-Operators
Überblick über den BETWEEN-Operator
Der BETWEEN-Operator ist eine Bedingung, die in der WHERE-Klausel verwendet wird, um zu überprüfen, ob ein bestimmter Spaltenwert in einem definierten Bereich liegt. Die grundlegende Syntax lautet wie folgt:
SELECT column_name
FROM table_name
WHERE column_name BETWEEN start_value AND end_value;
Zum Beispiel, wenn eine Tabelle die Alter von Mitarbeitern speichert, können Sie diesen Operator verwenden, um Mitarbeiter in einem bestimmten Altersbereich zu extrahieren.
Negative Form: NOT BETWEEN
Wenn Sie nach Werten suchen möchten, die nicht in einem angegebenen Bereich enthalten sind, verwenden Sie die negative Form NOT BETWEEN.
SELECT column_name
FROM table_name
WHERE column_name NOT BETWEEN start_value AND end_value;
3. Angabe eines numerischen Bereichs
Verwendung von BETWEEN für numerische Bereiche
Der BETWEEN-Operator ist sehr praktisch für die Angabe numerischer Bereiche. Zum Beispiel, wenn Sie Daten extrahieren möchten, bei denen die Gehälter der Mitarbeiter zwischen 50.000 und 100.000 liegen, schreiben Sie die Abfrage wie folgt:
SELECT employee_id, name, salary
FROM employees
WHERE salary BETWEEN 50000 AND 100000;
Beispieldaten:
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
| 4 | Tanaka | 120000 |
Ausführungsergebnis:
| employee_id | name | salary |
|---|---|---|
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
In der obigen Abfrage werden nur Mitarbeiter ausgewählt, deren Gehälter zwischen 50.000 und 100.000 liegen.
Unterschied zu Vergleichsoperatoren
Wenn Sie dieselbe Bedingung mit Vergleichsoperatoren ausdrücken, würde das so aussehen:
SELECT employee_id, name, salary
FROM employees
WHERE salary >= 50000 AND salary <= 100000;
Die Verwendung von BETWEEN macht die Abfrage knapper und verbessert die Lesbarkeit. Besonders bei mehreren Bereichsbedingungen macht BETWEEN die Abfrage leichter verständlich.

4. Angabe eines Datumsbereichs
Verwendung von BETWEEN mit Datumsdaten
BETWEEN kann auch verwendet werden, um Datumsbereiche anzugeben. Zum Beispiel, um Bestellungen aus der Bestelltabelle zwischen dem 1. Januar 2024 und dem 31. Dezember 2024 zu extrahieren, schreiben Sie die Abfrage wie folgt:
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
Beispieldaten:
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
| 3 | 103 | 2025-03-01 |
Ausführungsergebnis:
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
Wie oben gezeigt, extrahiert der BETWEEN-Operator Daten innerhalb des angegebenen Datumsbereichs.
Behandlung von Zeitdaten
Wenn die Datumsdaten Zeit enthalten, ist besondere Aufmerksamkeit erforderlich. Zum Beispiel, wenn die Spalte order_date vom Typ DATETIME ist und Zeitwerte enthält, wird die Angabe eines Bereichs mit BETWEEN Aufzeichnungen von Mitternacht am Startdatum bis 23:59:59 am Enddatum einschließen.
WHERE order_date BETWEEN '2024-01-01 00:00:00' AND '2024-12-31 23:59:59';
5. Angabe eines String-Bereichs
Verwendung von BETWEEN mit String-Daten
Der BETWEEN-Operator kann auch auf String-Daten angewendet werden. Zum Beispiel, wenn Sie nach Produkten suchen möchten, deren Namen zwischen ‚A‘ und ‚M‘ liegen, schreiben Sie die Abfrage wie folgt:
SELECT product_id, product_name
FROM products
WHERE product_name BETWEEN 'A' AND 'M';
Beispieldaten:
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
| 4 | Orange |
Ausführungsergebnis:
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
Hinweise zur alphabetischen Reihenfolge
Bei der Angabe von String-Bereichen wird angenommen, dass Strings alphabetisch geordnet sind. Da Datenbanken je nach Kollations-Einstellungen zwischen Groß- und Kleinschreibung unterscheiden können, ist Vorsicht geboten. Zum Beispiel können 'a' und 'A' als unterschiedliche Werte behandelt werden.
6. Wichtige Hinweise bei der Verwendung von BETWEEN
Die Reihenfolge des Bereichs ist entscheidend
When using the BETWEEN operator, be careful about the order of the start and end values. If the start value is greater than the end value, the query may return unintended results.
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 50; -- unintended result
Also, since BETWEEN includes both boundary values, it is important to choose start and end values carefully.
Index Usage and Efficiency
The BETWEEN operator generally has performance comparable to standard comparison operators. However, to optimize query performance, proper indexing is essential. When indexes are correctly configured, query execution speed using the BETWEEN operator improves. For example, setting an index on a date column allows date range queries to run more efficiently.
7. Practical Queries and Advanced Examples
Using BETWEEN with Multiple Columns
The BETWEEN operator can also be used in combination across multiple columns. For example, when performing a range search by specifying both product price and stock quantity, the following query can be used:
SELECT product_name, price, stock
FROM products
WHERE price BETWEEN 1000 AND 5000
AND stock BETWEEN 50 AND 200;
This query searches for products with prices between 1,000 and 5,000 and stock quantities between 50 and 200.
NOT BETWEEN Advanced Example
By using the negative form NOT BETWEEN, you can extract data outside a specified range. For example, to search for employees whose salaries are below 50,000 or above 100,000, write the query as follows:
SELECT employee_id, name, salary
FROM employees
WHERE salary NOT BETWEEN 50000 AND 100000;
Execution Result:
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 4 | Tanaka | 120000 |
This query retrieves employees whose salaries do not fall within the range of 50,000 to 100,000. Using NOT BETWEEN makes it easy to extract data based on inverse conditions.
8. Visual Query Example
To visually demonstrate query results, using a simple diagram can be effective. For example, the following illustration explains how BETWEEN works:
Price range: [----- 1000 ---- 5000 -----]
Product A price: 3000 (within range)
Product B price: 6000 (outside range)
Using a diagram like this makes it easier to intuitively understand whether data falls within the specified query range.
9. Summary
The BETWEEN operator is a highly useful tool in MySQL when performing range-based searches. It can be applied to numeric, date, and string data, allowing queries to be written concisely and efficiently. However, it is important to understand key considerations such as inclusion of boundary values and proper index usage. By leveraging this knowledge, you can optimize database query performance and efficiently extract the data you need.
10. References
For more details and additional usage examples, refer to the official MySQL documentation and specialized database textbooks. Practicing queries yourself will further deepen your understanding of the BETWEEN operator.

