Vous êtes sur la page 1sur 5

Informatique

TD SQL

TD SQL Corrige
Schma relationnel de la base de donnes : ETUDAINT (numetu, nom, prenom, datenaiss, rue, cp, vi e! "ATIE#E (codemat, i$e e, coef! E%#EU&E (numepreuve, datepreuve, ieu, codemat'! N(TATI(N (numetu', numepreuve', note!

Question n) *
Liste de tous es +tudiants,

Correction
SELECT * FROM ETUDIANT ;

Question n) Liste de tous es +tudiants, c ass+e par ordre a p.a$+tique inverse,

Correction
SELECT * FROM ETUDIANT ORDER BY nom DESC ;

Question n) /
Li$e + et coefficient (e0prim+ en pourcentage! de c.aque mati1re,

Correction
SELECT libelle, coef*100 FROM MATIERE ;

Question n) 2
Nom et pr+nom de c.aque +tudiant,

Correction
SELECT nom, !enom FROM ETUDIANT ;

DEU3 "IAS

4 *

Informatique

TD SQL

Question n) 5
Nom et pr+nom des +tudiants domici i+s 6 L7on,

Correction
SELECT nom, !enom FROM ETUDIANT "#ERE $ille%&L'on& ;

Question n) 8
Liste des notes sup+rieures ou +ga es 6 *9,

Correction
SELECT no(e FROM NOTATION "#ERE no(e)%10 ;

Question n) :
Liste des +preuves dont a date se situe entre e *er ;anvier et e /9 ;uin -992,

Correction
SELECT * FROM E*REU+E "#ERE ,-(e !e.$e BET"EEN &/000101101& AND &/000102130& ;

Question n) <
Nom, pr+nom et vi e des +tudiants dont a vi e contient a c.a=ne > >,

Correction
SELECT nom, !enom, $ille FROM ETUDIANT "#ERE $ille LI4E &5ll5& ;

Question n) ?
%r+noms des +tudiants de nom Dupont, Durand ou "artin,

Correction
SELECT !enom FROM ETUDIANT "#ERE nom IN 6&D. on(&, &D.!-n,&, &M-!(in&7 ;

DEU3 "IAS

4 -

Informatique

TD SQL

Question n) *9
Somme des coefficients de toutes es mati1res,

Correction
SELECT SUM6coef7 FROM MATIERE ;

Question n) **
Nom$re tota d@+preuves,

Correction
SELECT COUNT6*7 FROM E*REU+E ;

Question n) *Nom$re de notes ind+termin+es (NULL!,

Correction
SELECT Co.n(6NOTATION8n.me(.7 AS 9Nomb!e ,e no(e: in,;(e!min;e:< FROM NOTATION #A+IN= 666NOTATION8No(e7 I: N.ll77;

Question n) */
Liste des +preuves (num+ro, date et ieu! inc uant e i$e + de a mati1re,

Correction
SELECT n.me !e.$e, ,-(e !e.$e, lie., libelle FROM E*REU+E, MATIERE "#ERE E*REU+E8co,em-(%MATIERE8co,em-( ;

Question n) *2
Liste des notes en pr+cisant pour c.acune e nom et e pr+nom de @+tudiant qui @a o$tenue,

Correction
SELECT nom, !enom, no(e FROM ETUDIANT, NOTATION "#ERE ETUDIANT8n.me(.%NOTATION8n.me(. ;

Question n) *5
DEU3 "IAS 4 /

Informatique

TD SQL

Liste des notes en pr+cisant pour c.acune e nom et e pr+nom de @+tudiant qui @a o$tenue et e i$e + de a mati1re concern+e,

Correction
SELECT nom, !enom, no(e, libelle FROM ETUDIANT, NOTATION, E*REU+E, MATIERE "#ERE ETUDIANT8n.me(.%NOTATION8n.me(. AND NOTATION8n.me !e.$e%E*REU+E8n.me !e.$e AND E*REU+E8co,em-(%MATIERE8co,em-(

Question n) *8
Nom et pr+nom des +tudiants qui ont o$tenu au moins une note +ga e 6 -9,
SELECT DISTINCT nom, !enom FROM ETUDIANT, NOTATION "#ERE ETUDIANT8n.me(.%NOTATION8n.me(. AND no(e%/0 ;

Question n) *:
"o7ennes des notes de c.aque +tudiant (indiquer e nom et e pr+nom!,

Correction
SELECT nom, !enom, A+=6no(e7 FROM ETUDIANT, NOTATION "#ERE ETUDIANT8n.me(.%NOTATION8n.me(. =ROU* BY nom, !enom ;

Question n) *<
"o7ennes des notes de c.aque +tudiant (indiquer e nom et e pr+nom!, c ass+es de a mei eure 6 a moins $onne,

Correction
SELECT nom, !enom, A+=6no(e7 AS mo'enne FROM ETUDIANT, NOTATION "#ERE ETUDIANT8n.me(.%NOTATION8n.me(. =ROU* BY nom, !enom ORDER BY A+=6NOTATION8no(e7DESC ;

Question n) *?
"o7ennes des notes pour es mati1res (indiquer e i$e +! comportant p us d@une +preuve,

Correction
SELECT libelle, A+=6no(e7 FROM MATIERE AS m, E*REU+E AS e, NOTATION AS n

DEU3 "IAS

4 2

Informatique
"#ERE m8co,em-(%e8co,em-( AND e8n.me !e.$e%n8n.me !e.$e =ROU* BY libelle #A+IN= COUNT6DISTINCT e8n.me !e.$e7)1 ;

TD SQL

Question n) -9
"o7ennes des notes o$tenues au0 +preuves (indiquer e num+ro d@+preuve! oA moins de 8 +tudiants ont +t+ not+s,

Correction
SELECT e8n.me !e.$e, A+=6no(e7 FROM E*REU+E AS e, NOTATION AS n "#ERE e8n.me !e.$e%n8n.me !e.$e AND no(e IS NOT NULL =ROU* BY e8n.me !e.$e #A+IN= COUNT6*7>2 ;

Requte imbrique (la sous requte renvoie au plus 1 tuple : utilisez =, <, >, <>) SELECT nom B#(" ETUDIANT CDE#E ETUDIANT,numetu = (SELECT N(TATI(N,numetu B#(" N(TATI(N CDE#E N(TATI(N,note E*-!F Requte imbrique (la sous requte renvoie 1 ou plusieurs tuples:utilisez [NO ! "N,#$$, #N% ) Noms &es tu&iants qui ont obtenu la note 1' SELECT nom B#(" ETUDIANT CDE#E ETUDIANT,numetu IN (SELECT N(TATI(N,numetu B#(" N(TATI(N CDE#E N(TATI(N,note E*-!F Noms &es tu&iants n(a)ant pas obtenu la note 1' SELECT nom B#(" ETUDIANT CDE#E ETUDIANT,numetu GH ALL (SELECT N(TATI(N,numetu B#(" N(TATI(N CDE#E N(TATI(N,note E*-!F Noms &es tu&iants &ont la note n(est pas rensei*ne SELECT nom B#(" ETUDIANT CDE#E ETUDIANT,numetu = ANY (SELECT N(TATI(N,numetu B#(" N(TATI(N CDE#E N(TATI(N,note IS NULL!F Notez que les +lauses = #N% et <> #N% +orrespon&ent respe+tivement , "N et , NO "N-

DEU3 "IAS

4 5