- 1 1. Introduction
- 2 2. Syntaxe de base de l’opérateur BETWEEN
- 3 3. Spécification d’une plage numérique
- 4 4. Spécification d’une plage de dates
- 5 5. Spécification d’une plage de chaînes
- 6 6. Considérations importantes lors de l’utilisation de BETWEEN
- 7 7. Requêtes pratiques et exemples avancés
- 8 8. Exemple de requête visuelle
- 9 9. Résumé
- 10 10. Références
1. Introduction
L’un des éléments importants pour exécuter des requêtes efficacement dans une base de données MySQL est l’opérateur BETWEEN. Cet opérateur est extrêmement utile lors de la vérification si des données se situent dans une plage spécifique. Il est utilisé pour spécifier des plages pour les nombres, les dates et les chaînes, permettant une extraction de données efficace dans les recherches et le filtrage de base de données. Dans cet article, nous expliquerons en détail comment utiliser l’opérateur BETWEEN de MySQL, des exemples pratiques et des considérations importantes.
2. Syntaxe de base de l’opérateur BETWEEN
Aperçu de l’opérateur BETWEEN
L’opérateur BETWEEN est une condition utilisée dans la clause WHERE pour vérifier si une valeur de colonne spécifique se situe dans une plage définie. La syntaxe de base est la suivante :
SELECT column_name
FROM table_name
WHERE column_name BETWEEN start_value AND end_value;
Par exemple, si une table stocke les âges des employés, vous pouvez utiliser cet opérateur pour extraire les employés dans une plage d’âge spécifique.
Forme négative : NOT BETWEEN
Si vous souhaitez rechercher des valeurs qui ne sont pas incluses dans une plage spécifiée, utilisez la forme négative NOT BETWEEN.
SELECT column_name
FROM table_name
WHERE column_name NOT BETWEEN start_value AND end_value;
3. Spécification d’une plage numérique
Utilisation de BETWEEN pour les plages numériques
L’opérateur BETWEEN est très pratique pour spécifier des plages numériques. Par exemple, si vous souhaitez extraire des données où les salaires des employés sont compris entre 50 000 et 100 000, écrivez la requête comme suit :
SELECT employee_id, name, salary
FROM employees
WHERE salary BETWEEN 50000 AND 100000;
Données d’exemple :
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
| 4 | Tanaka | 120000 |
Résultat d’exécution :
| employee_id | name | salary |
|---|---|---|
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
Dans la requête ci-dessus, seuls les employés dont les salaires se situent entre 50 000 et 100 000 sont sélectionnés.
Différence avec les opérateurs de comparaison
Si vous exprimez la même condition en utilisant des opérateurs de comparaison, cela ressemblerait à ceci :
SELECT employee_id, name, salary
FROM employees
WHERE salary >= 50000 AND salary <= 100000;
L’utilisation de BETWEEN rend la requête plus concise et améliore la lisibilité. Surtout lorsque plusieurs conditions de plage sont impliquées, BETWEEN rend la requête plus facile à comprendre.

4. Spécification d’une plage de dates
Utilisation de BETWEEN avec les données de date
BETWEEN peut également être utilisé pour spécifier des plages de dates. Par exemple, pour extraire les commandes de la table des commandes entre le 1er janvier 2024 et le 31 décembre 2024, écrivez la requête comme suit :
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
Données d’exemple :
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
| 3 | 103 | 2025-03-01 |
Résultat d’exécution :
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
Comme indiqué ci-dessus, l’opérateur BETWEEN extrait les données dans la plage de dates spécifiée.
Gestion des données de temps
Si les données de date incluent l’heure, une attention particulière est requise. Par exemple, si la colonne order_date est de type DATETIME et inclut des valeurs d’heure, la spécification d’une plage avec BETWEEN inclura les enregistrements de minuit à la date de début jusqu’à 23:59:59 à la date de fin.
WHERE order_date BETWEEN '2024-01-01 00:00:00' AND '2024-12-31 23:59:59';
5. Spécification d’une plage de chaînes
Utilisation de BETWEEN avec les données de chaîne
L’opérateur BETWEEN peut également être appliqué aux données de chaîne. Par exemple, si vous souhaitez rechercher des produits dont les noms se situent entre ‘A’ et ‘M’, écrivez la requête comme suit :
SELECT product_id, product_name
FROM products
WHERE product_name BETWEEN 'A' AND 'M';
Données d’exemple :
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
| 4 | Orange |
Résultat d’exécution :
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
Considérations sur l’ordre alphabétique
Lors de la spécification de plages de chaînes, il est supposé que les chaînes sont ordonnées alphabétiquement. Comme les bases de données peuvent distinguer les majuscules et les minuscules en fonction des paramètres de collation, une prudence est requise. Par exemple, 'a' et 'A' peuvent être traités comme des valeurs différentes.
6. Considérations importantes lors de l’utilisation de BETWEEN
L’ordre de la plage est important
Lorsque vous utilisez l’opérateur BETWEEN, faites attention à l’ordre des valeurs de début et de fin. Si la valeur de début est supérieure à la valeur de fin, la requête peut renvoyer des résultats inattendus.
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 50; -- unintended result
De plus, comme BETWEEN inclut les deux valeurs limites, il est important de choisir soigneusement les valeurs de début et de fin.
Utilisation des index et efficacité
L’opérateur BETWEEN offre généralement des performances comparables à celles des opérateurs de comparaison standards. Cependant, pour optimiser les performances des requêtes, une indexation appropriée est indispensable. Lorsque les index sont correctement configurés, la vitesse d’exécution des requêtes utilisant BETWEEN s’améliore. Par exemple, créer un index sur une colonne de type date permet aux requêtes de plage de dates de s’exécuter de façon plus efficace.
7. Requêtes pratiques et exemples avancés
Utilisation de BETWEEN avec plusieurs colonnes
L’opérateur BETWEEN peut également être utilisé en combinaison sur plusieurs colonnes. Par exemple, lors d’une recherche de plage en spécifiant à la fois le prix d’un produit et la quantité en stock, la requête suivante peut être employée :
SELECT product_name, price, stock
FROM products
WHERE price BETWEEN 1000 AND 5000
AND stock BETWEEN 50 AND 200;
Cette requête recherche les produits dont le prix se situe entre 1 000 et 5 000 et dont la quantité en stock se situe entre 50 et 200.
Exemple avancé de NOT BETWEEN
En utilisant la forme négative NOT BETWEEN, vous pouvez extraire les données situées en dehors d’une plage spécifiée. Par exemple, pour rechercher les employés dont le salaire est inférieur à 50 000 ou supérieur à 100 000, écrivez la requête comme suit :
SELECT employee_id, name, salary
FROM employees
WHERE salary NOT BETWEEN 50000 AND 100000;
Résultat de l’exécution :
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 4 | Tanaka | 120000 |
Cette requête récupère les employés dont le salaire ne se trouve pas dans la fourchette de 50 000 à 100 000. L’utilisation de NOT BETWEEN facilite l’extraction de données basées sur des conditions inverses.
8. Exemple de requête visuelle
Pour illustrer visuellement les résultats d’une requête, l’utilisation d’un diagramme simple peut être efficace. Par exemple, l’illustration suivante explique le fonctionnement de BETWEEN :
Price range: [----- 1000 ---- 5000 -----]
Product A price: 3000 (within range)
Product B price: 6000 (outside range)
Un diagramme de ce type rend plus intuitive la compréhension de la présence ou non des données dans la plage de requête spécifiée.
9. Résumé
L’opérateur BETWEEN est un outil très utile dans MySQL pour les recherches basées sur des plages. Il peut être appliqué aux données numériques, aux dates et aux chaînes de caractères, permettant d’écrire des requêtes de façon concise et efficace. Néanmoins, il est important de connaître les points clés tels que l’inclusion des valeurs limites et la bonne utilisation des index. En maîtrisant ces aspects, vous pouvez optimiser les performances des requêtes et extraire les données dont vous avez besoin de manière efficace.
10. Références
Pour plus de détails et d’exemples d’utilisation supplémentaires, consultez la documentation officielle de MySQL ainsi que les manuels spécialisés sur les bases de données. La pratique des requêtes vous permettra d’approfondir davantage votre compréhension de l’opérateur BETWEEN.

