You are on page 1of 5

Conception dun systme dinformation et interrogation SQL dune base de donnes

Cas Gestion de runions .


Requtes SQL
Aprs avoir rcupr la base de donnes ACCESS
Ecrire les requtes SQL la base rpondant aux questions suivantes :

TABLE:
1. Donner la liste des personnes
select * from PERSONNE
Remarque : le caractre * indique que lon souhaite rcuprer toutes les colonnes (en loccurrence de la table
PERSONNE)

2. Donner la liste des runions

Projection :
3. Donner la liste des libells de runion
select [libelle reunion] from REUNION
Remarque : len-tte de colonne tant compos de 2 mots ACCESS ncessite lutilisation des [] pour utiliser la
colonne dans une requte SQL

4. Donner la liste des numros et noms de personnes


5. Donner la liste des numros et noms de personnes tries sur le nom croissant
select [numero personne],nom from PERSONNE order by nom

ou
select [numero personne],nom from PERSONNE order by nom asc
Remarque : le tri est initialement dfini comme croissant ce qui fait que la clause ASC est facultative

ou

select [numero personne],nom from PERSONNE order by 2


Remarque : la clause de tri peut faire appel au numro de la colonne dans le select (ici nom est la seconde
colonne)

ou
select [numero personne],nom from PERSONNE order by 2 asc

6. Donner la liste des libells, dates, heures des runions tries sur dates dcroissantes,
heures et libells croissants
7. Donner la liste des diffrents prnoms des personnes
select distinct prenom from PERSONNE
Remarque : la clause distinct permet dliminer les doublons

8. Donner la liste des diffrents numros de salle des runions

Eric CREPIN

Conception dun systme dinformation et interrogation SQL dune base de donnes

Slection/Restriction :
9. Donner la liste des personnes de prnom Paul
select * from PERSONNE where prenom = 'Paul'

ou

select * from PERSONNE where prenom = "Paul"


Remarque : ACCESS accepte indiffremment lapostrophe (ou quotte) ou le guillemet (double quotte) pour
dlimiter les chanes de caractres dans les requtes SQL Access.

10. Donner la liste des runions se droulant dans la salle 15


11. Donner la liste des runions dont le numro de salle est infrieur strictement 10
12. Donner la liste des personnes de code fonction C, D, P ou R
select * from PERSONNE where
or
or
or

[code
[code
[code
[code

fonction]
fonction]
fonction]
fonction]

=
=
=
=

'C'
'D'
'P'
'R'

ou
select * from PERSONNE where [code fonction] in ('C', 'D', 'P', 'R')
Remarque : on peut utiliser la clause ensembliste In la place de lnumration des conditions.

13. Donner la liste des personnes dont le prnom commence par Jean
select * from PERSONNE where prenom like 'Jean*'
Remarque : ACCESS utilise * comme caractre gnrique de remplacement de * ou plusieurs caractres.

14. Donner la liste des personnes dont le prnom se termine par ine
15. Donner la liste des personnes dont le prnom est Jeanne ou Jean et dont le code
fonction est E
16. Donner la liste des runions ayant lieu entre le 2 septembre et le 31 octobre 2005 ?
SELECT * FROM REUNION
WHERE [date reunion]>=#9/2/2005# And [date reunion]<=#10/31/2005#;
Attention : la notation SQL ACCESS utilise le dise # comme dlimiteur mais selon un format #MM/JJ/AAAA#

ou
SELECT * FROM REUNION
WHERE [date reunion] between #9/2/2005# And #10/31/2005#;
Remarque : le clause SQL between permet de dlimiter un intervalle de valeurs

Eric CREPIN

Conception dun systme dinformation et interrogation SQL dune base de donnes

Projection et Slection/Restriction :
17. Donner la liste des numros et noms des personnes de prnoms JEAN ou MARTIN et
dont le code fonction est E
18. Donner le nom de la fonction de code R
19. Donner le numro des personnes ayant particip la runion 1 ou 4
20. Donner la liste des fonctions
21. Donner la liste des noms de fonction
22. Donner la liste des noms de fonction dont le code est strictement infrieur E
23. Donner la liste des noms de fonction de ladministration du lyce (code : C, D ou R)
24. Donner la liste des noms de fonction qui ne sont pas de ladministration
select [nom fonction]
from FONCTION
where [code fonction] not in ('C','D','R')
select [nom fonction]
from FONCTION
where [code fonction] <> 'C'
and [code fonction] <> 'D'
and [code fonction] <> 'R'

25. Combien y a t il de fonction ?


select count(*)
from FONCTION
ou
select count(*) as [nombre fonction]
from FONCTION
as nom de mnmonique dfini un alias qui permettra de manipuler le rsultat
de la requte au travers dune application hte

26. Combien y a t il de fonction qui commence par P ?


27. Combien y a t il de fonction qui ne commence pas par P ?
28. Donner la liste des numros, prnoms et noms des personnes tris par nom et prnom

Eric CREPIN

Conception dun systme dinformation et interrogation SQL dune base de donnes

29. Donner la liste des numros, prnoms et noms des personnes de code E ou T et prnom
PAUL
30. Donner la liste des codes fonctions des personnes
31. Donner la liste des prnoms de 4 lettres des personnes, trie par ordre alphabtique
select distinct prenom
from PERSONNE
where prenom like'????'
order by prenom
Le caractre ? est un caractre gnrique qui permet de remplacer 1 caractre dans le cas dune recherche
utilisant le clause LIKE

32. Donner la liste des diffrents noms des personnes trie par ordre dcroissant
33. Donner la liste des numros des personnes ayant particip lune des runions
34. Combien y a t il eu de runion le premier septembre 2005 ?

Jointure
35. Donner la liste (numro, prnom, nom) des lves
Linformation donne est Elve qui correspond nom fonction de la table des FONCTIONs,
le rsultat est le numro, prnom, nom des PERSONNEs de fonction lve. On va devoir
oprer une jointure entre les deux tables sur le critre logique du code le la fonction de la
PERSONNE (cl trangre) et de la FONCTION (cl primaire)
PERSONNE(numro personne, nom, prnom, code fonction#)
FONCTION(code fonction, nom fonction)

SELECT [numero personne], prenom, nom


FROM PERSONNE, FONCTION
Where [nom fonction] = 'Elve'
and PERSONNE.[code fonction] = FONCTION.[code fonction]

ou

SELECT [numero personne], prenom, nom


FROM PERSONNE P, FONCTION F
Where [nom fonction] = 'Elve'
and P.[code fonction] = F.[code fonction]

Dans le from on a donn comme nom dalias P pour la table PERSONNE et F pour la table
FONCTION ce qui permet dutiliser les nom dalias dans la jointure

Eric CREPIN

Conception dun systme dinformation et interrogation SQL dune base de donnes


36. Combien y a t il de professeurs ?
37. Donner la liste des libells des runions auxquelles la personne de numro 3 a particip,
on affichera aussi le nom et le prnom de la personne
38. Donner la liste des personnes (prnom, nom, nom de fonction) tri par ordre de nom de
fonction dcroissant, nom et prnom croissants
39. Donner la liste des runions (numro et libell) auxquelles un Proviseur a assist

Eric CREPIN