SQL-Clause WHERE et conditions

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.

Clause WHERE et conditions.

Dans les exemples qui suivent, nous utiliserons la table ci-dessous comme référence.

Table COMMENTAIRES
id pseudo commentaire age
1 toto Commentaire de toto 12
2 tata Commentaire de tata 41
3 titi Commentaire de titi 24
4 toto Commentaire 2 de toto 12
5 zaza Commentaire de zaza 36
6 tutu Commentaire de tutu 10

Syntaxe pour sélectionner une ou des données bien précises dans une table. Commande WHERE.

SELECT commentaire FROM COMMENTAIRES WHERE pseudo = 'toto'

Cette requête permet de sélectionner le ou les commentaires dont le pseudo utilisé est égal à "toto" et situé dans le champ "pseudo" de la table "COMMENTAIRES".

Cette requête affichera donc:

"Commentaire de toto" et "Commentaire 2 de toto".

Comme vous le remarquez, la syntaxe est un peut spécial. On peut définir la commande WHERE par le mot "DONT". Elle est suivit du nom du champ qui est visé, en l'occurence le champ "pseudo" et qui est égal ((=) est l'instruction) au pseudo que l'on souhaite, soit ('toto') qui est placé entre ce que l'on nome des quôtes simple ('), touche 4 de votre clavier .
Si on récapitule la chose, WHERE pseudo = 'toto' correspond donc à : "Dont le champ pseudo est égal à 'toto'".

Il existe, tout comme en PHP, une multitude de conditions associées à la clause WHERE.


condition   Valeur
= signifie Egal
!= signifie Différent
< signifie Plus petit
> signifie Plus grand
<= signifie Plus petit ou égal
>= signifie Plus grand ou égal
AND ou && signifie Et
OR ou || signifie Ou
Note: Il existe d'autres conditions.

Quelques exemples de requêtes SQL comportant des conditions différentes:
SELECT commentaire FROM COMMENTAIRES WHERE pseudo != 'toto'

Affichera tout les commentaires dont le pseudo du champ "pseudo" est différent de "toto".

SELECT age FROM COMMENTAIRES WHERE age < '30' AND age > '10'

Affichera tout les âges du champ "age" comprit entre 10 et 30.

SELECT id, pseudo FROM COMMENTAIRES WHERE id != '4' AND pseudo != 'toto' ORDER BY id ASC

Affichera les numéros du champ "id" et les pseudos du champ "pseudo" dont les numéros du champ "id" sont différents du numéro "4" et dont les pseudos du champ "pseudo" sont différents de "toto" par ordre Croissant en fonction du champ "id" (2, 3, 5 et 6).

DISTINCT

La commande DISTINCT permet d'éviter les doublons dans une requête.

Supposons que vous souhaitez afficher tout les pseudos de la table "COMMENTAIRES" sans aucun doublon.

La requête sera donc:

SELECT DISTINCT pseudo FROM COMMENTAIRES

Le pseudo "toto" étant utilisé 2 fois dans le champ "pseudo", l'instruction DISTINCT en selectionnera donc qu'un seul.

GROUP BY

La clause GROUP BY permet de regrouper des résultats.

SELECT age FROM COMMENTAIRES GROUP BY pseudo

Dans cette requête, GROUP BY va permettre de sélectionner tout les âges de la table COMMENTAIRES en les regroupants par pseudo. GROUP BY est toujours suivie du nom de la colonne sur laquelle on veut effectuer des regroupements.

Clause LIMIT

La clause LIMIT permet de récupérer qu'une partie des données.

Supposons que vous souhaitez afficher que les 5 premières entrées.

La requête sera donc:

SELECT * FROM COMMENTAIRES LIMIT 0, 5

Si vous souhaitez afficher les entrées à partir de l'entrée numéro 2 jusqu'à la sixième:

SELECT * FROM COMMENTAIRES LIMIT 1, 5
Une explication s'impose  :

Dans un premier temps, la première entrée pour MYSQL est l'entrée numéro 0 (zero).


Le premier chiffre indique à partir de quelle entrée on commence à lire les données.
Le deuxième chiffre indique le nombre d'entrées à sélectionner.

Prenons le 2ième code comme exemple:

1 est la première entrée à partir de la quelle on commence à lire les données. Donc, c'est comme si en commençait à lire les données à partir de l'entrée numéro 2 puisque la 1ère entrée n'est pas comptabilisée.

5 est le nombre d'entrées à selectionner. 1 2 3 4 5 6

LIMIT

Un truc mémotechnique 1,5 :

Vous ajoutez +1 au premier chiffre pour savoir qu'elle est la première entrée affichée (1+1=2, donc 2 est la première entrée).
Vous additionnez les 2 chiffres pour savoir qu'elle sera la dernière entrée affichée (1+5=6, donc 6 est la dernière entrée affichée).


Voir/déposer un commentaire (0) | Signaler un problème