Terminale GSI B : services fournis par le système d'information et technologies associées
Eric CREPIN page 5
TRAVAIL à FAIRE
Requêtes SQL
Après avoir récupéré la base de données ACCESS TD06_PERS_FONC_sql.mdb
Ecrire les requêtes SQL la base répondant aux questions suivantes :
71. Quelles sont les réunions (numéro) auxquelles ont assisté le professeur ou l’élève Jean
BONNOT ?
SELECT distinct [numero reunion]
FROM PARTICIPE, PERSONNE, FONCTION
WHERE ([nom fonction] = 'Professeur' or [nom fonction] = 'Elève')
and prenom = 'Jean' and nom = 'BONNOT'
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
72. Quelles sont les réunions (numéro, libellé et numéro de salle) auxquelles ont assisté les
professeurs Céline AIHAIRE ou Martine HAIE ?
SELECT DISTINCT REUNION.[numero salle]
FROM REUNION, PARTICIPE, PERSONNE, FONCTION
WHERE [nom fonction] = 'Professeur'
and ( (prenom = 'Céline' and nom = 'AIHAIRE')
or (prenom = 'Martine' and nom = 'HAIE')
)
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
73. Quelles sont les salles (numéro) auxquelles ont assisté un professeur ?
select distinct [numero salle]
from REUNION,PARTICIPE,PERSONNE,FONCTION
where [nom fonction] = 'Professeur'
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
74. Quelles sont les salles (numéro, capacité) auxquelles ont assisté un professeur, triées par
capacité décroissante ?
SELECT DISTINCT SALLE.[numero salle], capacite
FROM SALLE, REUNION, PARTICIPE, PERSONNE, FONCTION
WHERE [nom fonction] = 'Professeur'
and SALLE.[numero salle] = REUNION.[numero salle]
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
ORDER BY capacite DESC
75. Donner la liste des personnes (nom, prénom, nom fonction) triée par nom de fonction ?
SELECT nom, prenom, [nom fonction]
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
order by [nom fonction]