Noms des étudiants inscrits en INF101 en 2012 ou 2013

Question

Noms des étudiants inscrits en INFO101 (INFO101 représente le CODE_COURS)en 2012 ou 2013.

Solution

SQL
1
SELECT NOM
2
FROM ETUDIANTS E, COURS C, INSCRIT I
3
WHERE
4
E.NE = I.NE
5
AND I.NC = C.NC
6
AND C.CODE_COURS = 'INFO101'
7
AND (I.ANNEE = 2012 OR I.ANNEE = 2013)

La jointure peut aussi être écrite dans le FROM.

1
SELECT NOM
2
FROM (ETUDIANTS E JOIN INSCRIT I ON E.NE =I.NE) JOIN COURS C ON I.NC=C.NC
3
WHERE
4
C.CODE_COURS = 'INFO101'
5
AND (I.ANNEE = 2012 OR I.ANNEE = 2013)

Solution

Calcul relationnel

Res = {NOM}|\(\exists\){NE, PRENOM, VILLE, AGE, NC, INTITULE, NR, DPT}(ETUDIANT(NE, NOM, PRENOM, VILLE, AGE)\(\wedge\)COURS(NC, "INFO101", INTITULE, NR, DPT)\(\wedge\)(INSCRIT(NE, NC, 2012)\(\vee\)INSCRIT(NE, NC, 2013)))