Bonsoir à tous,
j'ai un énoncé avec correction mais je ne trouve pas comme la correction, pouvez vous m'éclairez svp, je vous met l'énoncé, les requêtes et la correction "officielle".
EMP(ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO)
ENO : numéro d'employé, clé
ENOM : nom de l'employé
PROF : profession (directeur n'est pas une profession)
DATEEMB : date d'embauche
SAL : salaire
COMM : commission (un employé peut ne pas avoir de commission)
DNO : numéro de département auquel appartient l'employéDEPT(DNO, DNOM, DIR, VILLE)
DNO : numéro de département, clé
DNOM : nom du département
DIR : directeur du département (correspond à un n° d’employé)
VILLE : lieu du département (ville)
Requête 10 :
Donner les noms des employés travaillant dans un département avec au moins un ingénieur.
Correction :
Ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT E2.ENOM FROM EMP E1, EMP E2 WHERE E1.DNO = E2.DNO AND E1.PROF = 'INGÉNIEUR';
Requête 11 : Donner le salaire et le nom des employés gagnant plus qu'un (au moins un) ingénieur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT ENOM FROM EMP WHERE EMP.DNO = ( SELECT EMP.DNO FROM EMP WHERE PROF = 'ingénieur' );
Correction:
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT E1.ENOM, E1.SAL FROM EMP E1, EMP E2 WHERE E2.PROF='INGENIEUR' AND E1.SAL > E2.SAL;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ENOM, SAL FROM EMP WHERE SAL > ANY (SELECT SAL FROM EMP WHERE PROF='INGENIEUR');
Ma requête:
Requête 12 : Donner le salaire et le nom des employés gagnant plus que tous les ingénieurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT ENOM , SAL FROM EMP WHERE SAL > ( SELECT MIN (SAL) FROM EMP WHERE PROF= 'ingénieur' );
Correction:
Ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ENOM, SAL FROM EMP WHERE SAL > ALL (SELECT SAL FROM EMP WHERE PROF='INGENIEUR');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ENOM, SAL FROM EMP WHERE SAL > (SELECT MAX(SAL) FROM EMP WHERE PROF='INGENIEUR');
Ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT ENOM , SAL FROM EMP WHERE SAL > ( SELECT MAX (SAL) FROM EMP WHERE PROF= 'ingénieur' );
Ps: je ne comprend rien à la correction, d'où sortent les "E1." "E2."...
Je débute et merci d'avance pour toute contribution, aussi modeste soit-elle.
Partager