Université de Lille – Sciences et Technologies, Master GI Bases de Données Relationnelles
1) Créer un nouvel objet Requête (en mode Création, c’est-à-dire sans utiliser d’assistant). Ajouter
uniquement la table etudiants, puis double-cliquer sur le champ num_etu. Dans la ligne Critères de la
grille d’interrogation, ajouter la condition >=10. Double-cliquer ensuite sur le « champ » * pour
l’ajouter aussi à la requête. Afficher le résultat de cette première requête, puis son code SQL.
Compte-rendu : à quelles clauses SQL correspondent les lignes Champ, Table et Critères de la grille
d’interrogation ? Quelles remarques pouvez-vous faire sur la requête SQL générée par Access ? D’où
vient le Champ0 apparaissant dans le résultat ?
Désormais, il est demandé de reproduire le code SQL « épuré » des requêtes, c’est-à-dire le code
débarrassé des parenthèses excédentaires et des noms de tables inutiles (préfixes de champs).
2) Dans la colonne num_etu de la requête précédente, décocher la case Afficher et fixer un Tri décroissant.
Compte-rendu : à quelle clause SQL correspond la ligne Tri de la grille ? Dans quelles conditions doit-
on inclure un champ dans une requête sans afficher celui-ci ?
3) Cliquer sur l’en-tête de colonne grisé du champ num_etu et supprimer celui-ci de la requête. Ajouter le
champ sexe et définir un critère pour ne sélectionner que les étudiantes. Ajouter aussi le champ
date_naiss et définir le critère >=1/1/90, d’abord dans la ligne Critères, puis dans la ligne Ou.
Compte-rendu : comment Access formate-t-il les dates ? Comment les critères sont-ils combinés
logiquement, selon qu’ils sont écrits sur la même ligne de la grille ou sur des lignes différentes (décrire
le résultat obtenu ici dans chaque cas) ?
4) En cherchant dans l’aide d’Access, trouver comment utiliser les opérateurs SQL BETWEEN … AND …
et LIKE, et l’opérateur logique NOT. Utiliser ceux-ci dans une requête pour retrouver les étudiants dont
le prénom ne commence pas par un P et dont la date de naissance est soit inconnue, soit dans l’année
1990.
Compte-rendu : comment Access francise-t-il ces opérateurs ? Donner la grille d’interrogation et le
code SQL de la requête, ainsi que les enregistrements qu’elle retourne.
5) Ajouter la table notes à la requête en cliquant sur le bouton . Définir alors une requête permettant de
trouver les notes des étudiantes nées en 1990 ou après.
Compte-rendu : la jointure entre ces tables est-elle définie et, si oui, comment expliquer cela ? Donner
le code SQL généré par Access et commenter sa syntaxe.
Exercice 4 : Fonctionnalités de requêtes avancées
Nous étudions ici comment d’autres aspects connus de SQL sont intégrés dans la grille d’interrogation
d’Access, ainsi que quelques fonctionnalités propres à ce SGBD.
1) Modifier la requête précédente (3.5) en utilisant la fonction YEAR() pour fixer un critère non plus sur
la date, mais sur l’année de naissance des étudiantes.
Compte-rendu : comment Access transforme-t-il la formule saisie dans la ligne Champ de la grille
(expliquer en détail) ? En examinant le code SQL correspondant, déduire comment donner un alias à un
champ, et proposer effectivement un alias pour ce champ calculé.
2) Supprimer (si ce n’est déjà fait) le champ etudiants.* de la requête, puis afficher la ligne Opération en
cliquant sur le bouton . Modifier la requête pour obtenir la moyenne des notes de chaque étudiante
née en 1990 ou après.
Compte-rendu : reproduire la grille d’interrogation, avec notamment les champs et l’opération de
groupe choisie pour chacun d’eux. Quelle est l’opération de groupe (Regroupement ou Où) la plus
3/6