|
Critères de recherche dans une table : |
||||||||||||
|
Dans l'exemple précédent nous avons récupéré tous les champs de la table. La plupart du temps on ne voudra extraire
que des enregistrements répondant à certains critères. Par exemple on peut ne vouloir faire apparaître que les résultats d'une
seule personne.
Listing de recherche avec critère :
Sur la ligne $requete= "SELECT * FROM matable"; on a ajouté une condition de sélection avec WHERE
ce qui donne $requete= "SELECT * FROM matable WHERE NOM=\"Bigard\"";. Comme dans notre table un seul
enregistrement correspond à Bigard pour le nom, on obtient ceci en sortie: NOM: BIGARD PRENOM: J.Marie NOTE: 18
Modification du 1er listing de cette page : Qui peut s'écrire
En modifiant la requête on va être en mesure cette fois de sortir des valeurs comprises entre 2 bornes.
Ici grâce à BETWEEN...AND... on va lister les personnes ayant une note entre 8 et 14. Comme dans
notre table 2 enregistrements correspondent à notre requête, on obtient ceci en sortie: NOM: DUBOSC PRENOM: Franck NOTE: 12
Modification du 1er listing de cette page :
Toujours en modifiant la requête on va pouvoir faire une recherche portant sur une partie d'une chaîne contenue dans un champs.
Avec LIKE et en utilisant le caractère % ou le caractère _. Attention ces deux caractères on un comportement bien
différent! Dans la requête ci-dessus on va obtenir toutes les personnes dont le nom débute par un B : NOM: BIGARD PRENOM: J.Marie NOTE: 18
"%" va donc prendre la place d'un ou plusieurs caratères, "_" quant à lui ne va remplacer qu'un seul caractère.
Modification du 1er listing de cette page :
Cette fois on va compliquer un peu les choses en faisant une recherche selon différent critères. Ici nous allons extraitre
toutes les personnes dont le nom commence par un D et dont la note est supérieure à 10. le résultat : NOM: DUBOSC PRENOM: Franck NOTE: 12
Les différents opérateurs: |
||||||||||||
|
Critères de tri d'une table : |
||||||||||||
|
On va mettre un peut d'ordre dans tout ça, avec ORDER BY il est possible de spécifier le nom du champ
à partir duquel sera trié le résultat.
Sans commentaire le résultat trié par nom:
NOM: BIGARD PRENOM: J.Marie NOTE: 18
Celà nous donne un tri ascendant (A->Z) mais il est égalemnt possible d'effectuer un tri descendant (Z->A):
Il suffit pour celà d'ajouter DESC après le nom du champ. |
||||||||||||
|
Fixer une limit à la recherche : |
||||||||||||
|
On dehors des critères de recherche il est possible de fixer une limite à la recherche.
La clause LIMITva, comme son nom l'indique, limiter la recherche à un certain nombre de lignes. S'il n'y a q'une
seule valeur celà signifie que la table sera traitée à partir de cette valeur. S'il y en a deux, séparées par une virgule, la table
sera traitée entre les valeurs indiquées. |
||||||||||||
|
Exemple de requêtes complexe : |
||||||||||||
|
Pour finir on va voir qu'il est tout à fait envisageable de cumuler les contraintes de recherche et
faire des requêtes plus ou moin complexes, en voici un exemple parmis toutes les possibilités dont
vous aurez sans doute besoin.
A quoi peut servir cette requête? A rien ormis le fait de mettre en pratique tout ce que vous venez d'apprendre... |
||||||||||||
<< Retour |