Fondamentaux

IN, BETWEEN et LIKE : quel filtre choisir ?

Trois opérateurs proches en apparence répondent à trois intentions métier différentes.

Équipe SQL.tn7 min
Trois mécanismes visuels filtrent une liste, un intervalle et un motif SQL

Liste, intervalle ou motif ?

IN vérifie une appartenance à une liste fermée, BETWEEN teste un intervalle inclusif et LIKE cherche une forme dans un texte.

Traduire d’abord la demande en phrase évite d’empiler des OR ou d’utiliser un motif trop large qui récupère des lignes inattendues.

Les noms, montants et données utilisés dans cet article sont fictifs et créés pour l’apprentissage.

La requête expliquée

Commencez par définir ce que doit représenter une ligne du résultat. Cette décision détermine les colonnes, les regroupements et les contrôles nécessaires.

L’exemple suivant isole le mécanisme principal. Exécutez-le, observez le résultat, puis modifiez une seule clause à la fois pour comprendre son effet.

Trois filtres combinés
SELECT produit, categorie, prix
FROM produits
WHERE categorie IN ('Bureau', 'Informatique')
  AND prix BETWEEN 20 AND 100
  AND produit LIKE '%Pro%';

Lire le résultat comme un analyste

L’intervalle inclut 20 et 100. Le motif %Pro% accepte Pro n’importe où dans le libellé ; Pro% l’imposerait au début.

Avec AND, une ligne doit respecter les trois conditions. Ajoutez des parenthèses dès que OR entre dans la requête.

  • Tester les deux bornes de BETWEEN.
  • Vérifier un texte qui doit correspondre et un qui doit être exclu.
  • Compter les lignes après chaque filtre.
  • Documenter la casse attendue selon le moteur.

Les erreurs qui faussent l’analyse

Une requête peut être valide sans répondre correctement à la question. Les erreurs les plus coûteuses sont souvent silencieuses : mauvais périmètre, ligne multipliée ou valeur absente interprétée comme zéro.

Avant de partager le résultat, confrontez-le à un petit échantillon calculé à la main et conservez la définition du périmètre avec la requête.

  • Croire que BETWEEN exclut les bornes.
  • Utiliser % des deux côtés et élargir excessivement la recherche.
  • Mélanger AND et OR sans parenthèses.
  • Utiliser IN avec une valeur NULL sans comprendre la logique à trois valeurs.

Passez à la pratique

Faites l’exercice de plage de prix, puis remplacez BETWEEN par deux comparaisons pour confirmer l’équivalence.

Le simulateur SQL de SQL.tn exécute uniquement des requêtes de lecture sur des données fictives dans votre navigateur. Vous pouvez essayer plusieurs écritures et comparer leur résultat sans installer de logiciel.

Mettez ce guide en pratique.

Ouvrez l’exercice associé, exécutez votre requête et comparez le résultat attendu.

Faire l’exercice