SQL BETWEEN

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

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 suivante retournera toutes les lignes dont la valeur de la colonne “nom_colonne” sera comprise entre valeur1 et valeur2.

Exemple : filtrer entre 2 dates

Imaginons une table “utilisateur” qui contient les membres d’une application en ligne.

idnomdate_inscription
1Maurice2012-03-02
2Simon2012-03-05
3Chloé2012-04-14
4Marie2012-04-15
5Clémentine2012-04-26

Si l’ont souhaite obtenir les membres qui se sont inscrit entre le 1 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 :

idnomdate_inscription
3Chloé2012-04-14
4Marie2012-04-15

Exemple : filtrer entre 2 entiers

Si l’ont 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:

SELECT *
FROM utilisateur
WHERE id NOT BETWEEN 4 AND 10

Résultat :

idnomdate_inscription
1Maurice2012-03-02
2Simon2012-03-05
3Chloé2012-04-14

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 c’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 vont inclurent les valeurs qui définissent l’intervalle  tandis que d’autres systèmes considèrent ces valeurs sont exclues. 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.

Cours recommandés

Partager