0% ont trouvé ce document utile (0 vote)
163 vues2 pages

TD SQL : Requêtes et Corrections

Ce document décrit le schéma relationnel d'une base de données étudiante avec les tables ETUDIANT, MATIERE, EPREUVE et NOTATION. Il présente diverses requêtes SQL pour sélectionner des données spécifiques dans ces tables.

Transféré par

Salma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
163 vues2 pages

TD SQL : Requêtes et Corrections

Ce document décrit le schéma relationnel d'une base de données étudiante avec les tables ETUDIANT, MATIERE, EPREUVE et NOTATION. Il présente diverses requêtes SQL pour sélectionner des données spécifiques dans ces tables.

Transféré par

Salma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

EPREUVE (numepreuve, datepreuve, lieu, codemat#)

NOTATION (numetu#, numepreuve#, note)


Schéma relationnel de la base de donnéesTD: SQL
ETUDAINT
Informatique
Question n° (numetu,
1 nom, prenom, datenaiss, rue, cp, ville) TD SQL
MATIERE (codemat, libelle, coef) Corrige
EPREUVE (numepreuve, datepreuve, lieu, codemat#)
Liste de tous les étudiants.
NOTATION (numetu#, numepreuve#, note) TD SQL
Correction
Question
Schéma n° 1 de la base de données
relationnel :
Corrige
ETUDAINT
SELECT *
(numetu, nom, prenom, datenaiss, rue, cp, ville)
MATIERE
Liste
FROM de tous(codemat,
ETUDIANT libelle, coef)
les étudiants.
;
EPREUVE (numepreuve, datepreuve, lieu, codemat#)
NOTATION
Informatique
Correction (numetu#, numepreuve#, note) : TD SQL
Question n° 2
Schéma relationnel de la base de données
ETUDAINT (numetu, nom, prenom, datenaiss, rue, cp, ville)
Question
MATIERE
SELECT
Liste de tousn°les1étudiants,
* (codemat, libelle, coef)par ordre alphabétique inverse.
classée
Question
FROM n° 5 ;
ETUDIANT
EPREUVE (numepreuve, datepreuve, lieu, codemat#)
Liste de tous les
NOTATION étudiants.
(numetu#, numepreuve#, note)
Correction
Nom
Question n° 2 étudiants domiciliés à Lyon.
et prénom
Informatique des TD SQL
Correction
Question
SELECT * n° 1
Correction
Liste
FROM de tous les étudiants, classée par ordre alphabétique inverse.
ETUDIANT
Question
ORDER
SELECT BY
* nom
n° 5DESC ;
Liste de tous les étudiants.
SELECT nom, prenom
FROM ETUDIANT ;
Correction
Nom etETUDIANT
FROM prénom des étudiants domiciliés à Lyon.
Question
Informatique
Correction n° 3
WHERE ville='Lyon' ; TD SQL
Question
SELECT * n° 2
Correction
FROM
LibelléETUDIANT
et* coefficient (exprimé en pourcentage) de chaque matière.
Question
SELECT
Question n°les6
tousn°
ORDER BY nom
Liste 5DESC ;
FROM deETUDIANT étudiants,
; classée par ordre alphabétique inverse.
SELECT nom, prenom
Correction
FROM des
Liste ETUDIANT
notes supérieures oudomiciliés
égales à 10.
Question
Nom
Informatique
Correction
Question n°
n° 3
WHEREet ville='Lyon'
prénom
2des étudiants
; à Lyon. TD SQL
SELECT libelle, coef*100
Correction
Libellé et* coefficient
Correction
FROM
SELECT MATIERE ; (exprimé en pourcentage) de chaque matière.
Question
Liste de
Question n°
tousn°
FROM ETUDIANT
les56étudiants, classée par ordre alphabétique inverse.
SELECT
ORDER BY notenomprenom
Correction
SELECT
Question
Correction
Liste
FROM des
FROM et
nom,
notes
NOTATION 4DESC ; ou égales à 10.
n° supérieures
Nom prénom
ETUDIANT des étudiants domiciliés à Lyon.
WHERE
WHERE note>=10
ville='Lyon' ; ;
Informatique
Question
SELECT n°
libelle, 3 coef*100 TD SQL
Nom
SELECTet prénom
* de chaque étudiant.
Correction
Correction
FROM MATIERE ;
Question
FROM ETUDIANT
Question
Libellé

n° 7 6DESC (exprimé
et coefficient en pourcentage) de chaque matière.
ORDER BY nom ;
Correction
Question
SELECT nom,noten° 5
Question
SELECT
FROM des
Liste NOTATIONn°
épreuves
4
prenom
dont la date se situe entre le 1er janvier et le 30 juin 2004.
FROM
Liste ETUDIANT
des notes supérieures ou égales à 10.
Correction
Question
WHERE
SELECT
Nom
WHERE nom, n° prenom
note>=10 3des; étudiants
et ville='Lyon'
prénom ; domiciliés à Lyon.
Nom
FROM et prénom de; chaque étudiant.
ETUDIANT
Correction
Correction
SELECT
Question
Libellé
Question etlibelle,
n° 67; coef*100
coefficient
n° (exprimé en pourcentage) de chaque matière.
Correction
FROM MATIERE
Correction
SELECT
SELECT * note
Correction
Liste des
FROM
SELECT
Liste
FROM
DEUG
des épreuves
EPREUVE
nom,
notes
NOTATION
MIAS prenomdont la date
supérieures se situe
ou égales entre le 1er janvier et le 30 juin 2004.
à 10. / 1
Question
SELECT
WHERE
FROM nom, n°
datepreuve
ETUDIANT
WHERE note>=10 ;
4
prenom BETWEEN '2004-01-01' AND '2004-06-30' ;
FROM
WHERE ETUDIANT
ville='Lyon' ; ;
SELECT
Correctionlibelle, coef*100
Correction
Nom
FROM et
Question prénom
MATIERE n° 8;de chaque étudiant.
Question n° 7
Question * n° 6
SELECT note
SELECT
Correction
Question
FROM
Nom,
DEUG
FROM MIASn°et4ville
EPREUVE
prénom
NOTATION
Liste des épreuves dontdeslaétudiants dontentre
date se situe la ville contient
le 1er la et
janvier chaîne
le 30 "ll".
juin 2004. / 1
WHERE note>=10
datepreuve ; BETWEEN '2004-01-01' AND '2004-06-30' ;
Liste
WHERE des notes supérieures ou égales à 10.
SELECT
Nom et nom,
prénom prenom
de chaque étudiant.
Correction
Correction
FROM ETUDIANT ;
Question n°
Question
Correctionn° 78
Correction
SELECT
SELECT nom,
* prenom, ville
Liste des épreuves dont laétudiants
Nom,
FROM
SELECT
FROM prénom
ETUDIANT
note
EPREUVE et ville des dontentre
date se situe la ville contient
le 1er la et
janvier chaîne
le 30 "ll".
juin 2004.
WHERE
WHERE
SELECT ville
FROM NOTATION LIKE
datepreuve
nom, prenom '%ll%'
BETWEEN ;'2004-01-01' AND '2004-06-30' ;
DEUG
WHERE
MIAS
note>=10;;
/ 1
FROM ETUDIANT
Correction
Correction
Question
Question n°
n° 9
8
Question
SELECT n°
nom,
SELECT * 7
prenom, ville
FROM EPREUVE
PrénomsETUDIANT
des étudiants de étudiants
nom Dupont,
FROM
Nom,
WHEREprénom
DEUG MIAS
ville etLIKE
ville'%ll%'
des dontDurand
la ville ou
;'2004-01-01'
Martin.
contient la chaîne "ll". / 1
Liste des épreuves dont la date se situe entre le 1er janvier
WHERE datepreuve BETWEEN AND et le 30 juin
'2004-06-30' ; 2004.
Correction
Correction
Question n°
Question n° 89
Correction
Nombre de notes indéterminées (NULL).
SELECT COUNT(*)
Informatique
FROM EPREUVE
Informatique
SELECT SUM(coef)
Nombre des
;
totalcoefficients
d'épreuves.de toutes les matières. TD
TD SQL
SQL
Somme
Correction
FROM MATIERE ;
Question
Correction n° 12
Question
Liste
SELECT
Question n° 10
desCount(NOTATION.numetu)
notes
n° en
11précisant pour chacune le nom etde
AS [Nombre le prénom de l'étudiant qui l'a obtenue et
notes indéterminées]
le libellé de
de notes
FROM NOTATION
Nombre la matière concernée.(NULL).
indéterminées
SELECT
HAVING COUNT(*)
SUM(coef)
(((NOTATION.Note)
Somme des coefficients de toutes Is les
Null));
matières.
Nombre total d'épreuves.
FROM EPREUVE
MATIERE ;
Correction
Correction
Question
Correction n° 13
Correction
Question n° prenom,
Informatique
SELECT nom, 12
11 note, libelle
TD SQL
SELECT Count(NOTATION.numetu) AS [Nombre de notes indéterminées]
FROM
Liste
SELECT ETUDIANT,
des NOTATION,
épreuves (numéro, date
SUM(coef) EPREUVE, MATIERE
et lieu) incluant le libellé de la matière.
FROM
SELECT NOTATION
COUNT(*)
Nombre
WHERE
FROM de
MATIEREnotes
total indéterminées
d'épreuves. (NULL).
ETUDIANT.numetu=NOTATION.numetu
;
Liste
HAVING
FROM des notes en; précisant pour chacune le nom et le prénom de l'étudiant qui l'a obtenue et
(((NOTATION.Note)
EPREUVE Is Null));
AND NOTATION.numepreuve=EPREUVE.numepreuve
Correction
le libellé de la matière concernée.
AND EPREUVE.codemat=MATIERE.codemat
Correction
Question
Question n°
n° 11
13
Question
SELECT
n° 12
numepreuve, datepreuve, lieu, libelle
Correction
Question
SELECT n° 16MATIERE
Count(NOTATION.numetu)
COUNT(*)
FROM EPREUVE, AS [Nombre de notes indéterminées]
Nombre
Liste des total
Informatique d'épreuves.
épreuves (numéro, date(NULL).
et lieu) incluant TD SQL
Nombre
FROM
WHERE de notes; indéterminées
NOTATION
EPREUVE
EPREUVE.codemat=MATIERE.codemat ; le libellé de la matière.
SELECT
HAVING nom, prenom,
(((NOTATION.Note) note, libelle
IsontNull));
Nom et prénom des étudiants qui obtenu au moins une note égale à 20.
FROM ETUDIANT, NOTATION, EPREUVE, MATIERE
Correction
Correction
Correction
Question
Liste des
WHERE notes 12précisant
n° en
14 pour chacune le nom et le prénom de l'étudiant qui l'a obtenue et
ETUDIANT.numetu=NOTATION.numetu
Question
SELECT
AND
le n°
DISTINCT13 nom, prenom
NOTATION.numepreuve=EPREUVE.numepreuve
libellé de la matière concernée.
Informatique
SELECT
FROM
SELECT
AND
SELECT
COUNT(*)NOTATION
ETUDIANT,
numepreuve, datepreuve,AS
EPREUVE.codemat=MATIERE.codemat
Count(NOTATION.numetu) lieu, libelle TD SQL
Nombre
Liste
FROM
WHERE
FROM des de notes
notes
EPREUVE en indéterminées
;MATIERE chacune[Nombre
précisant pour(NULL).
ETUDIANT.numetu=NOTATION.numetu
EPREUVE, le nom etde notes indéterminées]
le prénom de l'étudiant qui l'a obtenue.
FROM
Liste NOTATION
des épreuves
Correction
AND
WHERE note=20 ; (numéro, date et lieu) incluant ; le libellé de la matière.
HAVINGEPREUVE.codemat=MATIERE.codemat
(((NOTATION.Note) Is Null));
Question
Liste n°
des notes
Correction
Question 16
n° en
12précisant pour chacune le nom et le prénom de l'étudiant qui l'a obtenue et
Correction
le libellé
Question
SELECT de
nom,la
n° matière
17
prenom,
14 concernée.
note, libelle
Question
Nom et prénom
FROM
SELECT

ETUDIANT, 13
des étudiants
notequi
NOTATION,
Count(NOTATION.numetu)
nom, prenom, ont AS
EPREUVE,obtenu au moins
MATIERE
[Nombre de une
notesnoteindéterminées]
égale à 20.
Nombre
WHERE de notes indéterminées (NULL).
ETUDIANT.numetu=NOTATION.numetu
SELECT
Correction
FROM numepreuve,
NOTATION
ETUDIANT, datepreuve,
NOTATION lieu, libelle
Moyennes
Liste des des notes
notes de chaque
enMATIERE
précisant pourétudiant (indiquer le nom et le prénom).
AND
SELECT
FROM
HAVING
WHERE DISTINCT
EPREUVE, Ischacune
ListeNOTATION.numepreuve=EPREUVE.numepreuve
des épreuves (numéro, date
nom, prenom
(((NOTATION.Note) etNull));
ETUDIANT.numetu=NOTATION.numetu le nom
; et
lieu) incluant le le prénom
libellé de ladematière.
l'étudiant qui l'a obtenue.
AND
WHERE EPREUVE.codemat=MATIERE.codemat
Correction
FROM ETUDIANT, NOTATION
EPREUVE.codemat=MATIERE.codemat ;
Informatique
SELECT
Correction
WHERE nom, prenom, note, libelle
ETUDIANT.numetu=NOTATION.numetu TD SQL
Correction
Question
FROM
AND n°
ETUDIANT,
note=20 ;13
15 NOTATION, EPREUVE, MATIERE
Question
SELECT
Question n°
n° 16
Count(NOTATION.numetu)
14
WHERE ETUDIANT.numetu=NOTATION.numetu AS [Nombre de notes indéterminées]
FROM
SELECT
AND
SELECT NOTATION
nom, prenom, AVG(note)
NOTATION.numepreuve=EPREUVE.numepreuve
nom, prenom, note
Liste
SELECT
Liste
HAVING
des
des notes
épreuvesen précisant
numepreuve,
(((NOTATION.Note)
pour chacune
datepreuve,
(numéro, date lieu,
IsetNull));
lieu) le nom et
le le
libelle
incluant prénom
libellé de ladematière.
l'étudiant qui l'a obtenue et
Question
FROM
AND
FROM
Nom
FROM
le EPREUVE,
libellé
Liste des de n°
ETUDIANT,
ETUDIANT,
et prénomla 17 NOTATION
EPREUVE.codemat=MATIERE.codemat
NOTATION
des étudiants
MATIERE
matière qui
concernée. ont obtenu
notes en précisant pour chacune le nom au moins une note égale à 20. qui l'a obtenue.
et le prénom de l'étudiant
WHERE
WHERE ETUDIANT.numetu=NOTATION.numetu
WHERE ETUDIANT.numetu=NOTATION.numetu
DEUG EPREUVE.codemat=MATIERE.codemat
MIAS
;
; / 3
GROUP BY nom, prenom ;
Correction
Question
Moyennes
SELECT DISTINCT n° notes
des 13
16 de
nom,chaque
prenométudiant (indiquer le nom et le prénom).
Correction
Question
FROM ETUDIANT, n° 15 NOTATION
Question
Question
WHERE
SELECT

n° 14
18
ETUDIANT.numetu=NOTATION.numetu
numepreuve, datepreuve, lieu, libelle
Liste des
Correction
Nom épreuves
etEPREUVE,
prénom des(numéro,
étudiantsdate et
ontlieu) incluant le libellé de laégale
matière.
SELECT
AND
FROMnote=20nom, ; prenom,
MATIERE notequilibelle
note, obtenu au moins une note à 20.
Liste
FROM
WHERE des
Moyennes notes
ETUDIANT, en précisant
NOTATION,
NOTATION pour chacune
EPREUVE,
EPREUVE.codemat=MATIERE.codemat
des notesnom,
de chaque le nom
MATIERE
étudiant (indiquer et le prénom de l'étudiant
; le nom et le prénom), classées qui l'adeobtenue.
la
Correction
WHERE
SELECT
Question
DEUG
meilleure
DISTINCT
nom,
MIAS
à n°
la
prenom,
17
moins
prenom
ETUDIANT.numetu=NOTATION.numetu
AVG(note)
bonne.
;
/ 3
AND NOTATION.numepreuve=EPREUVE.numepreuve
FROM ETUDIANT, NOTATION
Correction
Question
WHERE n° 14
AND EPREUVE.codemat=MATIERE.codemat
ETUDIANT.numetu=NOTATION.numetu
SELECT
Question numepreuve,
n° notes datepreuve, lieu, libelle
AND
GROUP note=20
BY des
nom,;15prenom ;
Correction
Moyennes
FROM EPREUVE,
SELECT nom,
de chaque
MATIERE
prenom, note
étudiant (indiquer le nom et le prénom).
Liste des
Question notes
n° 16NOTATION chacune le nom; et le prénom de l'étudiant qui l'a obtenue.
en précisant pour
WHERE EPREUVE.codemat=MATIERE.codemat
FROM ETUDIANT,
Question
Correction
SELECT nom, 17
n° prenom,
18 AVG(note) AS moyenne
WHERE ETUDIANT.numetu=NOTATION.numetu ;
FROM ETUDIANT,
Correction NOTATION
Question
Nom
DEUG et prénom
MIAS n° 14
des étudiants qui
WHERE ETUDIANT.numetu=NOTATION.numetu
ont obtenu au moins une note égale à 20. / 3
Moyennes
SELECT nom, des notes
prenom,de chaque étudiant
AVG(note) (indiquer le nom et le prénom).
prénom), classées de la
Question
Informatique
GROUP BY nom,
FROM
SELECT
n° prenom,
ETUDIANT,
nom,
15prenom
NOTATION
note
TD SQL
meilleure
Liste
ORDERdes BY à AVG(NOTATION.note)DESC
la moins
DISTINCT
notes bonne.
nom, prenom
en précisant pour chacune ; le nom et le prénom de l'étudiant qui l'a obtenue.
WHERE ETUDIANT.numetu=NOTATION.numetu
FROM ETUDIANT, NOTATION
Correction
GROUP
WHERE BY nom, prenom ;
ETUDIANT.numetu=NOTATION.numetu ;
m.codemat=e.codemat
Correction
Question
AND note=20 n° ;19
e.numepreuve=n.numepreuve
DEUG
SELECT
GROUP BY MIAS
nom, prenom, AVG(note)
libelle / 3
Question
FROM n°
ETUDIANT, 18
15
SELECT COUNT(DISTINCT NOTATION
nom, prenom, AVG(note)
HAVING
Question
Moyennes
WHERE n° notes
des 17NOTATION les matièresAS
e.numepreuve)>1
pournote
ETUDIANT.numetu=NOTATION.numetu
moyenne
(indiquer ;le libellé) comportant plus d'une épreuve.
FROM ETUDIANT,
GROUP
WHERE BY
Moyennes nom,
des prenom
notes ;
de chaque étudiant (indiquer
ETUDIANT.numetu=NOTATION.numetu ; le nom et le prénom), classées de la
Question
Correction
GROUP BYàdes
Moyennes
meilleure n°
nom, 20
notes de
prenom
la moins chaque étudiant (indiquer le nom et le prénom).
bonne.
DEUG
ORDER
Question MIAS
BY AVG(NOTATION.note)DESC
n° 18 ; / 3
Question
Moyennes n° notes
des
SELECT libelle,
15 AVG(note)
obtenues aux épreuves (indiquer le numéro d'épreuve) où moins de 6
Correction
étudiants
Moyennesont
Question
FROM n°éténotes
MATIERE
des notés.
19
AS m,
de EPREUVE AS e, NOTATION AS n
chaque étudiant (indiquer le nom et le prénom), classées de la
meilleure à la moins
SELECT nom, bonne.
prenom, AVG(note) AS moyenne
Correction
Moyennes
DEUG MIASdes
FROM ETUDIANT,
DEUG MIAS notes pour les matières (indiquer le libellé) comportant plus d'une épreuve. //
NOTATION 3
4
WHERE ETUDIANT.numetu=NOTATION.numetu
Correction
GROUP nom, prenom ;
SELECTBYe.numepreuve, AVG(note)
Correction
ORDER BY AVG(NOTATION.note)DESC
FROM EPREUVE AS e, NOTATION AS n;
SELECT nom, prenom, AVG(note) AS moyenne
Question
WHERE
FROM
SELECT
AND
n° NOT
ETUDIANT,
libelle,
note IS
18NOTATION
e.numepreuve=n.numepreuve
AVG(note)
Question n° 19 NULL
WHERE ETUDIANT.numetu=NOTATION.numetu

Vous aimerez peut-être aussi