hou$$am Fondateur
Nombre de messages : 386 Localisation : Tlemcen-Algeria Date d'inscription : 04/01/2007
| Sujet: Initiation au SQL / Les requêtes simples Jeu 11 Jan - 2:34 | |
| Soit 3 tables : Eleves(#NomElv, AdrElv, VilleElv), Matieres(#NomMat, Coef), Notes(#NomElv, #NomMat, #Date, Note).
L'interrogation simple Liste des élèves.
- Code:
-
SELECT NomElv (Qu'est ce que je dois afficher ?) FROM Eleves; (Où cela se trouve t-il ?) Liste des matières avec leurs coefficients.
- Code:
-
SELECT NomMat, Coef FROM Matieres;
La close WHERE Elle permet de spécifier la ou les conditions que doivent remplir les lignes choisies.
Liste des élèves habitant Toulon.
- Code:
-
SELECT NomElv FROM Eleves WHERE VilleElv = 'Toulon';
Liste des matières pour lesquelles l'élève "Denis" a eu au moins une note.
- Code:
-
SELECT NomMat FROM Notes WHERE NomElv = 'Denis';
Remarque : Dans la close WHERE, on peut utiliser que des propriétés qui sont dans la table sélectionnée
La close GROUP BY
Il est possible de subdiviser la table en groupes, chaque groupe étant l'ensemble de lignes ayant une valeur commune.
Liste des élèves par ville.
- Code:
-
SELECT NomElv, VilleElv FROM Eleves GROUP BY VilleElv;
La close HAVING Elle ne s'utilise qu'avec le GROUP BY et permet de donner la ou les conditions que doivent remplir ces groupes.
Liste des élèves regroupés par ville où habitent plus de 10 élèves.
- Code:
-
SELECT NomElv, VilleElv FROM Eleves GROUP BY VilleElv HAVING Count(NomElv) > 10;
Liste des matières où plus de 35 notes ont été données.
- Code:
-
SELECT NomMat FROM Notes GROUP BY NomMat HAVING Count(Note) > 35;
La close ORDER BY
Elle permet de spécifier l'ordre dans lequel vont être affichées les lignes.
Liste des matières dans l'ordre alphabétique.
- Code:
-
SELECT NomMat FROM Matieres ORDER BY NomMat;
Liste des matières par ordre décroissant de coef., puis par ordre alphabétique de nom.
- Code:
-
SELECT NomMat FROM Matires ORDER BY Coef Desc, NomMat Asc;
Récapitulatif
SELECT noms des colonnes à afficher
FROM nom de la table où se trouvent les colonnes susmentionnées
WHERE condition(s) à remplir par les lignes
GROUP BY condition(s) de regroupement des lignes
HAVING condition(s) à remplir par le groupe
ORDER BY ordre (Asc, Desc) d'affichage
; | |
|