Skip to content

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.


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_table
WHERE nom_colonne BETWEEN valeur1 AND valeur2

Imaginons une table « utilisateur » qui contient les membres d’une application en ligne.

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 utilisateur
WHERE 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

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 utilisateur
WHERE id NOT BETWEEN 4 AND 10

Ré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 utilisateur
WHERE 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.


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.

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 utilisateur
WHERE date_inscription > '2012-04-01'
AND date_inscription < '2012-04-20'

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