Vous êtes sur la page 1sur 7

Informatique 13CG

Exercice : Base de donnes COURS


Description des tables

Les relations

Michle Schanen

Informatique 13CG

Requtes
1.

Afficher le nom et le prnom de tous les animateurs.

2.

Afficher toutes les coordonnes des diffrents participants.

3.

Afficher les diffrents droits dinscription suivant lordre dcroissant.

4.

Afficher les dates auxquelles il y a des cours tris chronologiquement.

5.

Afficher le code entreprise, les noms et prnoms des participants venant de lentreprise
dont le code est 33336.

6.

Afficher le code du cours, la date et le code du thme 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 dinscription et la prime de responsabilit des cours
dont le droit dinscription est en dessous de 6000 F et la prime de responsabilit est
suprieure 1000 F

10. Afficher tous les renseignements sur les diffrents thmes.


11. Afficher les codes des cours dont le droit dinscription est compris entre 2.500 et
6.000 F.
12. Afficher tous les noms et prnoms des participants dont le nom commence avec la lettre
N.
13. Afficher tous les noms et prnoms des participants dont le nom se termine avec la lettre
N tri suivant lordre alphabtique des noms et prnoms.
14. Afficher tous les noms et prnoms des participants dont les 2e et l3e lettres du nom sont
respectivement C et H.
15. Afficher les noms et prnoms de tous les participants qui sont ns en 68.
16. Compter le nombre de participants ns en 68.
17. Quel est le nombre de cours organiss ?
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 dinscription, 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 dinscription est le plus lev ?
23. Quel est le code du cours dont le droit dinscription est le plus bas ?
24. Calculer le total des heures prestes par les animateurs pour tous les cours.
25. Calculer le total des heures prestes par les animateurs pour le cours no 005.

Michle Schanen

Informatique 13CG

26. Calculer le total des heures prestes par lanimateur ayant le numro matricule
19800202222.
27. Afficher le numro matricule et le nombre total dheures prestes par chaque animateur
tirs suivant lordre croissant des numros matricule.
28. Afficher le code entreprise et le nombre total de participants par entreprise.
29. Afficher le numro matricule et le nombre total dheures prestes pour les animateurs
ayant prests plus de 10 heures.
30. Afficher le numro matricule et le nombre total dheures prestes pour les animateurs
ayant prests plus de 10 heures et qui sont ns en 68.
31. Afficher pour chaque cours le code cours, le nom et le prnom de lanimateur
responsable.
32. Afficher pour chaque cours son code, le thme et le nom et le prnom de lanimateur
responsable.
33. Pour chaque participant afficher le numro matricule, le nom, le prnom ainsi que le
nombre de cours auxquels il a particips.
34. Afficher le numro matricule, le nom et le prnom ainsi que le nombre total dheures
prestes par chaque animateur.
35. Afficher pour chaque entreprise (code et nom de lentreprise) le nombre de participants
tri suivant lordre croissant des noms dentreprise.
36. Afficher pour chaque participant son nom et son prnom, le nom de son entreprise ainsi
que les thmes (en toutes lettres) des cours auxquels il a particips (tris suivant les
numros matricules des participants et des thmes).
37. Saisir le nom dun animateur et compter le nombre de cours quil a anim.
38. Afficher le nom des catgories pour lesquelles il y a eu plus de 3 cours.
39. Afficher les noms des animateurs qui ont anim plus de cours que lanimateur dont vous
devez saisir le nom.

Michle Schanen

Informatique 13CG

Solutions
1.

SELECT
FROM

nom, prnom
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, prnom


participants
code_entreprise = 33336

6.

SELECT
FROM
WHERE

code_cours, date, code_thme


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

*
thmes

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, prnom

Michle Schanen

Informatique 13CG

14. SELECT
FROM
WHERE

nom, prnom
participants
nom LIKE ?CH*

15. SELECT
FROM
WHERE

nom, prnom
participants
matricule LIKE 1968* ou bien

16. SELECT
FROM
WHERE

COUNT(*) AS [nombre de participants ns 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 dinscription 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 prestes]


animer

25. SELECT
FROM
WHERE

SUM(nbre_heures) AS [total des heures prestes pour le cours 005]


animer
code_cours = 005

Michle Schanen

Informatique 13CG

26. SELECT
FROM
WHERE
27. SELECT
FROM
GROUP BY
ORDER BY

SUM(nbre_heures)
AS [total des heures prestes par lanimateur 19800202222]
animer
matriucle_animateur = 19800202222
matricule_animateur, SUM(nbre_heures)
AS [nombre total d'heures prestes]
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 prestes]


animer
matricule_animateur
SUM(nbre_heures) >10

30. SELECT
FROM
WHERE
GROUP BY
HAVING

matricule_animateur, SUM(nbre_heures) AS [nombre d'heures prestes]


animer
matricule_animateur like "1968*"
matricule_animateur
SUM(nbre_heures) >10;

31. SELECT
FROM
WHERE

code_cours, nom, prnom


animateurs, cours
animateurs.matricule_animateur = cours.matricule_animateur

32. SELECT
FROM
WHERE

code_cours, dsignation, nom, prnom


animateurs , thmes, cours
thmes.code_thme = cours.code_thme
AND animateurs.matricule_animateur = cours.matricule_animateur

33. SELECT
FROM
WHERE
GROUP BY

matricule, nom, prnom, COUNT(*) AS [nombre de cours]


participants , participer
participants.matricule = participer.matriucle
matricule, nom, prnom

34. SELECT

animateurs.matricule_animateur, nom, prnom, SUM(nbre_heures)


AS [nombre total d'heures prestes]
animateurs, animer
animateurs.matricule_animateur = animer.matricule_animateur
animateurs.matricule_animateur, nom, prnom

FROM
WHERE
GROUP BY
35. SELECT
FROM
WHERE
GROUP BY
ORDER BY

Michle 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

Michle Schanen

participants.nom, prnom, entreprises.nom, thmes.dsignation


thmes, cours, participants, participer, entreprises
participants.matricule = participer.matriucle
AND entreprises.code_entreprise = participants.code_entreprise
AND cours.code_cours = participer.code_cours
AND thmes.code_thme = cours.code_thme
participants.matricule, thmes.code_thme
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
catgories, thmes, cours
catgories.code_catgorie = thmes.code_catgorie
AND thmes.code_thme = cours.code_thme
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]