PRATIQUE OUTILS 
Les opérateurs de comparaison de MySQL
 
Liste des opérateurs courants et moins courants de la base de données Open Source. (19/04/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

MySQL offre des possibilités trop souvent inexploitées pour réaliser des requêtes précises (ou au contraire élargies), surtout par manque de connaissances des capacités du SGBD. La variété d'opérateurs de comparaison en est un exemple probant.

Les opérateurs de comparaison permettent de confronter deux valeurs, et renvoient un résultat selon que celles-ci sont identiques (true) ou pas (false). MySQL propose quelques options en plus des opérateurs habituels.

Les opérateurs de comparaison de MySQL
Opérateur(s)
Renvoi "true" si...
<> ou !=
...les deux valeurs ne sont pas égales
<
...la valeur de gauche est strictement inférieure à celle de droite
>
...la valeur de gauche est strictement supérieure à celle de droite
<=
...la valeur de gauche est strictement inférieure ou égale à celle de droite
>=
...la valeur de gauche est strictement supérieure ou égale à celle de droite
BETWEEN..AND
...la valeur testée est située entre deux valeurs données
IN
...la valeur testée se situe dans une liste valeurs données
NOT IN
...la valeur testée ne se situe pas dans une liste de valeurs données
LIKE
...la valeur de gauche correspond à celle de droite (celle de droite peux utiliser le caractère % pour simuler n'importe quel nombre de caractère, et _ pour un seul caractère
NOT LIKE
...les deux valeurs ne correspondent pas
REGEXP ou RLIKE
...la valeur de gauche correspond à l'expression régulière donnée
NOT REGEXP
...la valeur de gauche ne correspond pas à l'expression régulière donnée

Ceux ci, comme != ou <=, restent les plus utilisés, car ils existent déjà dans les langages de programmation courants. LIKE, de son côté, est également souvent utilisé, grâce à son modifier "%" qui permet des recherches moins strictes.

En revanche, nombre de requêtes du type "x < valeur et valeur < y" pourraient bénéficier d'une simplification avec BETWEEN x AND y. De même, IN et NOT IN permettant de s'affranchir de requêtes trop larges, et de les limiter à quelques valeurs seulement.

Enfin, l'utilisation des expressions régulières, bien que potentiellement lourdes en ressource et souvent mal utilisées, peuvent se révéler le Saint Graal pour les développeurs chevronnés, habitués de la syntaxe Perl...

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page