Академический Документы
Профессиональный Документы
Культура Документы
5) Insrer le n-uplet (7369, Bidon, NULL, NULL, NULL, NULL, NULL, NULL) dans la table
EMP. a fonctionne. Est-ce normal ?
6) Annuler linsertion prcdente (ROLLBACK ou F12 sous SQL Developer).
7) Ajouter les contraintes dintgrit ncessaires la table EMP (cl primaire et cls trangres)
laide de la commande ALTER TABLE EMP ADD CONSTRAINT
EMP
EMPNO
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
ENAME
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
JOB
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK
CLERK
ANALYST
CLERK
MGR
7902
7698
7698
7839
7698
7839
7839
7566
NULL
7698
7788
7698
7566
7782
HIREDATE
17/12/80
20/02/81
22/02/81
02/04/81
28/09/81
01/05/81
09/06/81
09/11/87
17/11/81
08/09/81
23/09/87
03/12/81
03/12/81
23/01/82
SAL
800.00
1600.00
1250.00
2975.00
1250.00
2850.00
2450.00
3000.00
5000.00
1500.00
1100.00
950.00
3000.00
1300.00
COMM
NULL
300.00
500.00
NULL
1400.00
NULL
NULL
NULL
NULL
0.00
NULL
NULL
NULL
NULL
DEPTNO
20
30
30
20
30
30
10
20
10
30
20
30
20
10
DEPT
DEPTNO
10
20
30
40
DNAME
ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
NEW-YORK
DALLAS
CHICAGO
BOSTON
3) Nom des vendeurs dont la commission est infrieure 25% de leur salaire.
1) Crer la table DEPT. Pour cela, il est possible dutiliser linterface graphique de SQL
Developer (onglet Connections / bouton droit sur llment Tables / New Table). Ne pas oublier
de dfinir le numro de dpartement DEPTNO comme cl primaire. Intgrer galement la
contrainte de domaine suivante : le nom d'un dpartement (DNAME) ne peut tre que
ACCOUNTING, RESEARCH, SALES ou OPERATIONS.
2) Remplir la table DEPT. Il est galement possible dutiliser linterface graphique de SQL
Developer pour cela (onglet Connections / dvelopper llment Tables / double-cliquer sur
DEPT / onglet Data dans la partie droite de lcran / icne ).
4) Valider les mises jour prcdentes (COMMIT ou F11 sous SQL Developer). partir de la
question suivante, utiliser uniquement des requtes SQL, que ce soit pour mettre jour
ou consulter les tables.
Langages de requtes TD n 3
13) Nom des employs ayant mme manager (MGR) que CLARK.
14) Nom et fonction des employs ayant mme fonction et mme manager que TURNER.
1/3
Langages de requtes TD n 3
2/3
15) Nom des employs embauchs avant tous les employs du dpartement n 10.
CORRECTION
16) Liste des employs en indiquant pour chacun son nom et celui de son manager.
17) Nom des employs ne travaillant pas dans le mme dpartement que leur manager.
Requtes hirarchiques
1)
2)
INSERT
INSERT
INSERT
INSERT
22) Liste des employs qui travaillent pour JONES, sauf SCOTT et ceux qui travaillent pour
SCOTT.
3)
23) Liste des employs dans l'ordre hirarchique, prsente sous forme indente (niveau 0 de la
hirarchie align gauche, niveau 1 dcal vers la droite, niveau 2 plus dcal, etc.).
4)
COMMIT;
5)
INSERT INTO EMP VALUES (7369, 'Bidon', NULL, NULL, NULL, NULL, NULL, NULL);
Requtes complmentaires
6)
ROLLBACK;
7)
8)
9)
COMMIT;
18) Structure hirarchique des employs (NOM, JOB, EMPNO, MGR), sachant que lemploy au
sommet de la hirarchie na pas de manager.
19) Liste des employs dpendant de JONES en indiquant leur niveau (LEVEL) dans cette
hirarchie.
20) Salaire moyen pour chaque niveau d'employ.
21) Liste des employs qui travaillent pour JONES, sauf SCOTT.
26) Mme requte que la requte n 16, en faisant figurer tous les employs (y compris ceux qui
nont pas de manager, donc).
27) Indiquer pour chaque employ sa catgorie de salaire, telle quelle est rfrence dans la table
SALGRADE de lutilisateur SCOTT.
28) Mettre jour le salaire de tous les employs en suivant la rgle suivante :
nouveau _ salaire = (6 niveau _ hirarchique) 50 anciennet _ en _ mois .
INTO
INTO
INTO
INTO
DEPT
DEPT
DEPT
DEPT
VALUES
VALUES
VALUES
VALUES
(10,
(20,
(30,
(40,
ACCOUNTING, NEW-YORK);
RESEARCH, DALLAS);
SALES, CHICAGO);
OPERATIONS, BOSTON);
Langages de requtes TD n 3
3/3
1)
2)
3)
UPDATE EMP
SET COMM=(SELECT AVG(COMM) FROM EMP)
WHERE HIREDATE<'01/01/82'
AND COMM IS NULL;
4)
ROLLBACK;
5)
Langages de requtes TD n 3
4/3
2)
3)
4)
5)
6)
7)
8)
9)
24) SELECT LEVEL || LPAD(' ', 3*LEVEL, '-') || ENAME FROM EMP
CONNECT BY MGR = PRIOR EMPNO
START WITH MGR IS NULL
ORDER BY LEVEL;
10) SELECT ENAME, JOB, SAL FROM EMP WHERE SAL = (SELECT MAX(SAL) FROM EMP);
11)
SELECT ENAME FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME='JONES');
12)
SELECT ENAME FROM EMP WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='JONES')
AND ENAME<>JONES;
13) SELECT ENAME FROM EMP WHERE MGR=(SELECT MGR FROM EMP WHERE ENAME='CLARK')
AND ENAME<>'CLARK';
17) SELECT SUB.ENAME FROM EMP SUB, EMP SUP WHERE SUB.MGR=SUP.EMPNO
AND SUB.DEPTNO<>SUP.DEPTNO;
Langages de requtes TD n 3
5/3
Langages de requtes TD n 3
6/3