BETWEEN – Filtrer dans un intervalle
Bonne lecture et bon apprentissage !
Junior TSAFACK – 08/08/2026
⏱️ Temps de lecture estimé : 4 minutes
L’opérateur BETWEEN est utilisé dans une requête SQL pour sélectionner un intervalle de données dans une requête utilisant WHERE. L’intervalle peut être constitué de chaînes de caractères, de nombres ou de dates. L’exemple le plus concret consiste par exemple à récupérer uniquement les enregistrements entre 2 dates définies.
Syntaxe
Section titled “Syntaxe”L’utilisation de la commande BETWEEN s’effectue de la manière suivante :
SELECT * FROM table WHERE nom_colonne BETWEEN 'valeur1' AND 'valeur2'La requête retournera toutes les lignes dont la valeur de la colonne « nom_colonne » sera comprise entre valeur1 et valeur2.
SELECT *FROM nom_tableWHERE nom_colonne BETWEEN valeur1 AND valeur2Exemple : Filtrer entre 2 dates
Section titled “Exemple : Filtrer entre 2 dates”Imaginons une table « utilisateur » qui contient les membres d’une application en ligne.
Table « utilisateur »
Section titled “Table « utilisateur »”| id | nom | date_inscription |
|---|---|---|
| 1 | Maurice | 2012-03-02 |
| 2 | Simon | 2012-03-05 |
| 3 | Chloé | 2012-04-14 |
| 4 | Marie | 2012-04-15 |
| 5 | Clémentine | 2012-04-26 |
Si l’on souhaite obtenir les membres qui se sont inscrits entre le 1er avril 2012 et le 20 avril 2012, il est possible d’effectuer la requête suivante :
SELECT *FROM utilisateurWHERE date_inscription BETWEEN '2012-04-01' AND '2012-04-20'Résultat :
| id | nom | date_inscription |
|---|---|---|
| 3 | Chloé | 2012-04-14 |
| 4 | Marie | 2012-04-15 |
Exemple : Filtrer entre 2 entiers
Section titled “Exemple : Filtrer entre 2 entiers”Si l’on souhaite obtenir tous les résultats dont l’identifiant n’est pas situé entre 4 et 10, il faudra alors utiliser la requête suivante avec NOT BETWEEN :
SELECT *FROM utilisateurWHERE id NOT BETWEEN 4 AND 10Résultat :
| id | nom | date_inscription |
|---|---|---|
| 1 | Maurice | 2012-03-02 |
| 2 | Simon | 2012-03-05 |
| 3 | Chloé | 2012-04-14 |
Exemple : Filtrer entre 2 chaînes de caractères
Section titled “Exemple : Filtrer entre 2 chaînes de caractères”BETWEEN peut également être utilisé avec des chaînes de caractères. Par exemple, pour obtenir les utilisateurs dont le nom se situe alphabétiquement entre « Chloé » et « Marie » :
SELECT *FROM utilisateurWHERE nom BETWEEN 'Chloé' AND 'Marie'Résultat :
| id | nom | date_inscription |
|---|---|---|
| 2 | Simon | 2012-03-05 |
| 3 | Chloé | 2012-04-14 |
| 4 | Marie | 2012-04-15 |
📌 Note : L’ordre alphabétique dépend du jeu de caractères (charset) et de la collation de votre base de données.
Bon à savoir
Section titled “Bon à savoir”Certaines vieilles versions de systèmes de gestion de bases de données ne prennent pas en compte la commande BETWEEN. Mais si vous utilisez une version récente de MySQL ou PostgreSQL, cela ne cause aucun problème.
L’autre élément important à savoir est que toutes les bases de données ne gèrent pas l’opérateur BETWEEN de la même manière. Certains systèmes incluent les valeurs qui définissent l’intervalle (comme MySQL, PostgreSQL, SQL Server), tandis que d’autres systèmes les excluent. Il est important de consulter la documentation officielle de la base de données que vous utilisez pour avoir une réponse exacte à ce sujet.
Comportement standard
Section titled “Comportement standard”Dans la majorité des SGBD modernes (MySQL, PostgreSQL, SQL Server, Oracle), BETWEEN est inclusif : les valeurs extrêmes sont prises en compte. C’est-à-dire que BETWEEN '2012-04-01' AND '2012-04-20' inclut les enregistrements du 1er et du 20 avril.
Pour une exclusion des extrêmes, on utilise généralement les opérateurs stricts > et < :
SELECT *FROM utilisateurWHERE date_inscription > '2012-04-01' AND date_inscription < '2012-04-20'Prochain chapitre
Section titled “Prochain chapitre”Vous savez désormais comment filtrer dans un intervalle avec BETWEEN. Mais que faire si vous avez besoin d’une recherche plus flexible, par exemple pour trouver des noms qui commencent par une certaine lettre ?
👉 Chapitre 9 : LIKE – Recherche par motif
Bonne continuation !
Junior TSAFACK – 08/08/2026