You are on page 1of 5

Conception d’un système d’information et interrogation SQL d’une base de données

Cas « Gestion de réunions ».
Requêtes SQL
Après avoir récupéré la base de données ACCESS
Ecrire les requêtes SQL la base répondant aux questions suivantes :

TABLE:
1. Donner la liste des personnes
select * from PERSONNE
Remarque : le caractère * indique que l’on souhaite récupérer toutes les colonnes (en l’occurrence de la table
PERSONNE)

2. Donner la liste des réunions

Projection :
3. Donner la liste des libellés de réunion
select [libelle reunion] from REUNION
Remarque : l’en-tête de colonne étant composé de 2 mots ACCESS nécessite l’utilisation des [] pour utiliser la
colonne dans une requête SQL

4. Donner la liste des numéros et noms de personnes
5. Donner la liste des numéros et noms de personnes triées 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 défini 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 numéro 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 libellés, dates, heures des réunions triées sur dates décroissantes,
heures et libellés croissants
7. Donner la liste des différents prénoms des personnes
select distinct prenom from PERSONNE
Remarque : la clause distinct permet d’éliminer les doublons

8. Donner la liste des différents numéros de salle des réunions

Eric CREPIN

1

Donner la liste des personnes dont le prénom commence par « Jean » select * from PERSONNE where prenom like 'Jean*' Remarque : ACCESS utilise * comme caractère générique de remplacement de * ou plusieurs caractères. 'D'.Conception d’un système d’information et interrogation SQL d’une base de données Sélection/Restriction : 9. Donner la liste des personnes dont le prénom est « Jeanne » ou « Jean » et dont le code fonction est « E » 16. Donner la liste des personnes de code fonction C. Attention : la notation SQL ACCESS utilise le dièse # comme délimiteur 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 délimiter un intervalle de valeurs Eric CREPIN 2 . 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'. Donner la liste des personnes dont le prénom se termine par « ine » 15. 14. 10. 'P'. 13. 'R') Remarque : on peut utiliser la clause ensembliste In à la place de l’énumération des conditions. Donner la liste des réunions dont le numéro de salle est inférieur strictement à 10 12. Donner la liste des personnes de prénom « Paul » select * from PERSONNE where prenom = 'Paul' ou select * from PERSONNE where prenom = "Paul" Remarque : ACCESS accepte indifféremment l’apostrophe (ou quotte) ou le guillemet (double quotte) pour délimiter les chaînes de caractères dans les requêtes SQL Access. Donner la liste des réunions se déroulant dans la salle 15 11. D. Donner la liste des réunions 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#.

Combien y a t il de fonction ? select count(*) from FONCTION ou select count(*) as [nombre fonction] from FONCTION as nom de mnémonique défini un alias qui permettra de manipuler le résultat de la requête au travers d’une application « hôte » 26. D ou R) 24. Combien y a t il de fonction qui ne commence pas par « P » ? 28. Donner le numéro des personnes ayant participé à la réunion 1 ou 4 20. Donner le nom de la fonction de code « R » 19. Donner la liste des noms de fonction 22. Donner la liste des numéros et noms des personnes de prénoms JEAN ou MARTIN et dont le code fonction est « E » 18.'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 qui commence par « P » ? 27. Donner la liste des fonctions 21.'D'. prénoms et noms des personnes triés par nom et prénom Eric CREPIN 3 . Donner la liste des noms de fonction dont le code est strictement inférieur à « E » 23. Donner la liste des numéros. Donner la liste des noms de fonction qui ne sont pas de l’administration select [nom fonction] from FONCTION where [code fonction] not in ('C'. Donner la liste des noms de fonction de l’administration du lycée (code : C.Conception d’un système d’information et interrogation SQL d’une base de données Projection et Sélection/Restriction : 17.

Donner la liste (numéro. FONCTION Where [nom fonction] = 'Elève' and PERSONNE. nom) des élèves L’information donnée est Elève qui correspond à nom fonction de la table des FONCTIONs. prénom. Donner la liste des prénoms de 4 lettres des personnes. nom FROM PERSONNE P. triée par ordre alphabétique select distinct prenom from PERSONNE where prenom like'????' order by prenom Le caractère ? est un caractère générique qui permet de remplacer 1 caractère dans le cas d’une recherche utilisant le clause LIKE 32. prénom. Donner la liste des codes fonctions des personnes 31. FONCTION F Where [nom fonction] = 'Elève' and P. nom FROM PERSONNE. Donner la liste des numéros. nom des PERSONNEs de fonction élève. On va devoir opérer une jointure entre les deux tables sur le critère logique du code le la fonction de la PERSONNE (clé étrangère) et de la FONCTION (clé primaire) PERSONNE(numéro personne.[code fonction] = FONCTION. prénoms et noms des personnes de code E ou T et prénom PAUL 30. nom fonction) SELECT [numero personne]. Donner la liste des numéros des personnes ayant participé à l’une des réunions 34. prénom.[code fonction] Dans le from on a donné comme nom d’alias P pour la table PERSONNE et F pour la table FONCTION ce qui permet d’utiliser les nom d’alias dans la jointure Eric CREPIN 4 . Combien y a t il eu de réunion le premier septembre 2005 ? Jointure 35. Donner la liste des différents noms des personnes triée par ordre décroissant 33.Conception d’un système d’information et interrogation SQL d’une base de données 29. le résultat est le numéro. prenom.[code fonction] = F. prenom. nom.[code fonction] ou SELECT [numero personne]. code fonction#) FONCTION(code fonction.

on affichera aussi le nom et le prénom de la personne 38. nom et prénom croissants 39. nom de fonction) trié par ordre de nom de fonction décroissant. Combien y a t il de professeurs ? 37. nom. Donner la liste des personnes (prénom. Donner la liste des libellés des réunions auxquelles la personne de numéro 3 a participé. Donner la liste des réunions (numéro et libellé) auxquelles un Proviseur a assisté Eric CREPIN 5 .Conception d’un système d’information et interrogation SQL d’une base de données 36.