Informatique 13CG
Exercice : Base de données COURS Description des tables
Les relations
Michèle Schanen ©
Informatique 13CG
Requêtes 1.
Afficher le nom et le prénom de tous les animateurs.
2.
Afficher toutes les coordonnées des différents participants.
3.
Afficher les différents droits d’inscription suivant l’ordre décroissant.
4.
Afficher les dates auxquelles il y a des cours triés chronologiquement.
5.
Afficher le code entreprise, les noms et prénoms des participants venant de l’entreprise dont le code est 33336.
6.
Afficher le code du cours, la date et le code du thème de tous les cours qui ont eu lieu le 22 janvier 1998.
7.
Afficher les matricules des animateurs responsables et la date des cours qui ont eu lieu entre le 1er janvier et 31 janvier 1998.
8.
Afficher les codes des cours et les dates des cours qui ont eu lieu 8 mars 1998 et 10 septembre 1998.
9.
Afficher les codes cours, le droit d’inscription et la prime de responsabilité des cours dont le droit d’inscription est en dessous de 6000 F et la prime de responsabilité est supérieure à 1000 F
10. Afficher tous les renseignements sur les différents thèmes. 11. Afficher les codes des cours dont le droit d’inscription est compris entre 2.500 et 6.000 F. 12. Afficher tous les noms et prénoms des participants dont le nom commence avec la lettre N. 13. Afficher tous les noms et prénoms des participants dont le nom se termine avec la lettre N trié suivant l’ordre alphabétique des noms et prénoms. 14. Afficher tous les noms et prénoms des participants dont les 2e et l3e lettres du nom sont respectivement C et H. 15. Afficher les noms et prénoms de tous les participants qui sont nés en 68. 16. Compter le nombre de participants nés en 68. 17. Quel est le nombre de cours organisés ? 18. Combien de participants a-t-on eu dans tous les cours ? 19. Combien de participants a-t-on eu pour le cours no 026 ? 20. Calculer la moyenne des droits d’inscription, des primes de responsabilité et des tarifs heure. 21. Combien de cours organise-t-on pour chaque niveau ? 22. Quel est le code du cours dont le droit d’inscription est le plus élevé ? 23. Quel est le code du cours dont le droit d’inscription est le plus bas ? 24. Calculer le total des heures prestées par les animateurs pour tous les cours. 25. Calculer le total des heures prestées par les animateurs pour le cours no 005.
Michèle Schanen ©
Informatique 13CG
26. Calculer le total des heures prestées par l’animateur ayant le numéro matricule 19800202222. 27. Afficher le numéro matricule et le nombre total d’heures prestées par chaque animateur tirés suivant l’ordre croissant des numéros matricule. 28. Afficher le code entreprise et le nombre total de participants par entreprise. 29. Afficher le numéro matricule et le nombre total d’heures prestées pour les animateurs ayant prestés plus de 10 heures. 30. Afficher le numéro matricule et le nombre total d’heures prestées pour les animateurs ayant prestés plus de 10 heures et qui sont nés en 68. 31. Afficher pour chaque cours le code cours, le nom et le prénom de l’animateur responsable. 32. Afficher pour chaque cours son code, le thème et le nom et le prénom de l’animateur responsable. 33. Pour chaque participant afficher le numéro matricule, le nom, le prénom ainsi que le nombre de cours auxquels il a participés. 34. Afficher le numéro matricule, le nom et le prénom ainsi que le nombre total d’heures prestées par chaque animateur. 35. Afficher pour chaque entreprise (code et nom de l’entreprise) le nombre de participants trié suivant l’ordre croissant des noms d’entreprise. 36. Afficher pour chaque participant son nom et son prénom, le nom de son entreprise ainsi que les thèmes (en toutes lettres) des cours auxquels il a participés (triés suivant les numéros matricules des participants et des thèmes). 37. Saisir le nom d’un animateur et compter le nombre de cours qu’il a animé. 38. Afficher le nom des catégories pour lesquelles il y a eu plus de 3 cours. 39. Afficher les noms des animateurs qui ont animé plus de cours que l’animateur dont vous devez saisir le nom.
Michèle Schanen ©
Informatique 13CG
Solutions 1.
SELECT FROM
nom, prénom animateurs
2.
SELECT FROM
* participants
3.
SELECT FROM ORDER BY
DISTNCT droit_inscrip cours droit_inscrip DESC
4.
SELECT FROM ORDER BY
DISTINCT date cours date
5.
SELECT FROM WHERE
code_entreprise, nom, prénom participants code_entreprise = “33336”
6.
SELECT FROM WHERE
code_cours, date, code_thème cours date = #22/01/98#
7.
SELECT FROM WHERE
matricule_animateur, date cours date BETWEEN #01/01/98# AND #31/01/98#
8.
SELECT FROM WHERE ou bien
code_cours, date cours date = #08/03/98# OR date = #10/09/98# date IN (#08/03/98#, #10/09/98#)
9.
SELECT FROM WHERE
code_cours, droit_inscrip, prime_resp cours droit_inscrip < 6000 AND prime_resp >1000
10. SELECT FROM
* thèmes
11. SELECT FROM WHERE
code_cours cours droit_inscrip BETWEEN 2500 AND 6000
12. SELECT FROM WHERE
nom, prenom participants nom LIKE “N*”
13. SELECT FROM WHERE ORDER BY
nom, prenom participants nom LIKE “*N” nom, prénom
Michèle Schanen ©
Informatique 13CG
14. SELECT FROM WHERE
nom, prénom participants nom LIKE “ ?CH*”
15. SELECT FROM WHERE
nom, prénom participants matricule LIKE “1968*” ou bien
16. SELECT FROM WHERE
COUNT(*) AS [nombre de participants nés en 98] participants matricule LIKE “1968*” ou bien matricule LIKE “1968???????”
17. SELECT FROM
COUNT(*) AS [nombre total de cours] cours
18. SELECT FROM
COUNT(*) AS [nombre total de participants] participer
19. SELECT FROM WHERE
COUNT(*) AS [nombre participants au cours 026] participer code_cours = “026”
20. SELECT
AVG(droit_inscip) AS [droit d’inscription moyen], AVG(prime_resp) AS [prime de responsabilité moyenne], AVG(tarif_hr) AS [tarif heur moyen] cours
FROM
matricule LIKE “1968???????”
21. SELECT FROM GROUP BY
niveau, COUNT(*) AS [nombre de cours] cours niveau
22. SELECT FROM WHERE
code_cours cours droit_inscrip = (SELECT MAX(droit_inscrip) FROM cours)
23. SELECT FROM WHERE
code_cours cours droit_inscrip = (SELECT MIN(droit_inscrip) FROM cours)
24. SELECT FROM
SUM(nbre_heures) AS [total des heures prestées] animer
25. SELECT FROM WHERE
SUM(nbre_heures) AS [total des heures prestées pour le cours 005] animer code_cours = “005”
Michèle Schanen ©
Informatique 13CG
26. SELECT FROM WHERE 27. SELECT FROM GROUP BY ORDER BY
SUM(nbre_heures) AS [total des heures prestées par l’animateur 19800202222] animer matriucle_animateur = “19800202222” matricule_animateur, SUM(nbre_heures) AS [nombre total d'heures prestées] animer matricule_animateur matricule_animateur
28. SELECT FROM GROUP BY
code_entreprise, COUNT(*) AS [nombre de participants] participants code_entreprise
29. SELECT FROM GROUP BY HAVING
matricule_animateur, SUM(nbre_heures) AS [nombre d'heures prestées] animer matricule_animateur SUM(nbre_heures) >10
30. SELECT FROM WHERE GROUP BY HAVING
matricule_animateur, SUM(nbre_heures) AS [nombre d'heures prestées] animer matricule_animateur like "1968*" matricule_animateur SUM(nbre_heures) >10;
31. SELECT FROM WHERE
code_cours, nom, prénom animateurs, cours animateurs.matricule_animateur = cours.matricule_animateur
32. SELECT FROM WHERE
code_cours, désignation, nom, prénom animateurs , thèmes, cours thèmes.code_thème = cours.code_thème AND animateurs.matricule_animateur = cours.matricule_animateur
33. SELECT FROM WHERE GROUP BY
matricule, nom, pérnom, COUNT(*) AS [nombre de cours] participants , participer participants.matricule = participer.matriucle matricule, nom, pérnom
34. SELECT
animateurs.matricule_animateur, nom, prénom, SUM(nbre_heures) AS [nombre total d'heures prestées] animateurs, animer animateurs.matricule_animateur = animer.matricule_animateur animateurs.matricule_animateur, nom, prénom
FROM WHERE GROUP BY 35. SELECT FROM WHERE GROUP BY ORDER BY
Michèle Schanen ©
entreprises.code_entreprise, entreprises.nom, COUNT(*) AS [nombre de participants] entreprises, participants entreprises.code_entreprise = participants.code_entreprise entreprises.code_entreprise, entreprises.nom entreprises.nom
Informatique 13CG
36. SELECT FROM WHERE
ORDER BY 37. SELECT FROM WHERE GROUP BY 38. SELECT FROM WHERE GROUP BY HAVING 39. SELECT FROM WHERE GROUP BY HAVING
Michèle Schanen ©
participants.nom, pérnom, entreprises.nom, thèmes.désignation thèmes, cours, participants, participer, entreprises participants.matricule = participer.matriucle AND entreprises.code_entreprise = participants.code_entreprise AND cours.code_cours = participer.code_cours AND thèmes.code_thème = cours.code_thème participants.matricule, thèmes.code_thème nom, COUNT(*) AS [nombre de cours animé] animateurs, animer animateurs.matricule_animateur = animer.matricule_animateur AND nom = [Saisir le nom de l'animateur] nom libellé catégories, thèmes, cours catégories.code_catégorie = thèmes.code_catégorie AND thèmes.code_thème = cours.code_thème libellé COUNT(*) >3 nom animer, animateurs animateurs.matricule_animateur = animer.matricule_animateur nom COUNT(*) > ( SELECT COUNT(*) FROM animer, animateurs WHERE animateurs.matricule_animateur = animer.matricule_animateur AND nom = [Saisir le nom de l'animateur]