Opérateurs
et filtres
Le sommaire :
Cet opérateur de comparaison d’égalité offre une plus grande souplesse que le signe « égal ».
En effet, like permet de réaliser une recherche approximative par l’intermédiaire du caractère générique « pourcent ».
Par exemple, pour afficher les contacts dont le nom de famille débute par la lettre « O » :
select *
from contacts where Nom like "O%"
Ici, nous avons placé le caractère générique « Pourcent » après le « O », ainsi, dès lors que le nom de famille commence par un « O », la comparaison est vraie.
Le contraire maintenant, pour n’afficher que les contacts dont le nom de famille se termine par « O » :
select *
from contacts where Nom like "%O"
Pour finir, affichons maintenant les nom de famille contenant au-moins un « O », et ce, quel que soit la position du « O » dans le nom :
select *
from contacts where Nom like "%O%"
Et si votre chaîne de comparaison est dans une variable ?
select *
from contacts where Nom like '%".addslashes($Chaîne)."%'
Cet opérateur permet de construire une expression contenant plusieurs comparaisons, toutes les comparaisons doivent être vraies pour que le traitement de la requête soit exécuté.
Par exemple, pour afficher les « Nathalie » qui habitent à « MARSEILLE » :
select * from contacts where Prenom="Nathalie" and Ville="MARSEILLE"
Les « Nathalie » habitant à « ROUBAIX » ne seront pas concernées !
Les « François » habitant à « MARSEILLE » ne le seront pas davantage…
Cet opérateur permet d’afficher les enregistrements si l’une
des conditions reliées par un « or » est vraie, au moins une !
Si pour l’opérateur « and » il fallait que toutes
les conditions soient vérifiées, avec le « or », si l’une des conditions
est vraie, l’enregistrement est retenu…
Par exemple, pour afficher tous les contacts qui habitent à
NANTES ou à LILLE :
select *
from contacts where Ville="NANTES" or Villes="LILLE"
Cet opérateur est une seconde manière de réaliser un
« or » !
Il est donc un « ou » logique, il faut que l’une
des conditions soient vraie pour que l’enregistrement soit retenu.
Toujours le même exemple, pour afficher les contacts qui
habitent à NANTES ou à LILLE :
select *
from contacts where Ville in ("NANTES","LILLE")
« order by » peut être ajouté à la fin de chaque requête, il permet de réaliser un tri croissant ou décroissant sur le résultat obtenu.
Par exemple, pour réaliser un tri croissant sur le nom :
select *
from contacts order by Nom
L’opérateur “desc” peut être ajouté optionnellement afin de réaliser un tri décroissant.
Voici une requête qui réalise un tri décroissant sur le nom, puis un sous tri croissant sur le prénom :
select *
from contacts order by Nom desc, Prenom
Cet opérateur permet de supprimer les doublons dans le résultat de la requête.
Par exemple, si vous avez une table de contacts, il est fort possible qu’un certain nombre de contacts habitent dans les mêmes villes.
Si vous souhaitez afficher la liste des villes contenues dans la table « contacts » sans afficher plusieurs fois la même ville :
select distinct Ville from contacts
Cet opérateur vous permet de limiter le nombre d’enregistrements à récupérer par le nombre d’enregistrements fixé par « limit ».
Par exemple, pour n’obtenir que les 10 premiers enregistrements de la table « contacts » :
select * from contacts limit 10
« between » permet de réaliser une comparaison sur un intervalle de valeurs.
Par exemple, pour n’afficher que les salariés de la table « personnel » dont le salaire est compris entre 15 000 et 25000 :
select *
from personnel where Salaire between 15000 and 25000
Philippe
BOULANGER