TP4
1_Ecrivez une requête pour afficher le nom, le numéro de département et le
département de tous les employés
SQL> SELECT [Link], [Link], [Link]
2 from emp e
3 join dept d on [Link] = [Link];
2_Créez une liste unique de tous les postes du département 30.
SQL> SELECT DISTINCT [Link], [Link]
2 from emp e
3 JOIN dept d ON [Link] = [Link]
4 WHERE [Link] = 30;
3_Ecrivez une requête pour afficher le nom, le nom du département et la
localisation de tous les employés qui touchent une commission
SQL> SELECT DISTINCT [Link], [Link], [Link]
2 from emp e
3 JOIN dept d ON [Link] = [Link]
4 WHERE [Link] IS NOT NULL;
4_Affichez le nom et le nom du département pour tous les employés dont le nom
contient la lettre A
SQL> SELECT [Link], [Link]
2 from emp e
3 JOIN dept d ON [Link] = [Link]
4 WHERE ename LIKE '%A%';
5_Ecrivez une requête pour afficher le nom, le poste, le numéro de département et
le nom du département de tous les employés basés à DALLAS
SQL> SELECT [Link], [Link], [Link], [Link]
2 from emp e
3 JOIN dept d ON [Link] = [Link]
4 WHERE [Link] = 20;
6_Affichez le nom et le matricule des employés et de leur manager. Nommez les
colonnes Employee, Emp#, Manager, et Mgr#, respectivement
SQL> SELECT
2 [Link] AS Employee,
3 [Link] AS Emp#,
4 [Link] AS Manager,
5 [Link] AS Mgr#
6 FROM EMP e
7 JOIN EMP m ON [Link] = [Link];
7_Modifiez le fichier [Link] pour afficher tous les employés, y compris King,
n'ayant pas de manager
SQL> SELECT
2 [Link] AS Employee,
3 [Link] AS Emp#,
4 [Link] AS Manager,
5 [Link] AS Mgr#
6 FROM EMP e
7 LEFT JOIN EMP m ON [Link] = [Link];
8_Créez une requête pour afficher le numéro de département et le nom de tous les
employés qui travaillent dans le même département qu'un certain employé. Donnez à
chaque colonne un en-tête approprié
SQL> SELECT [Link] AS "Department", [Link] AS "Employee", [Link] AS
"COLLEAGUE"
2 FROM EMP e1
3 JOIN EMP e2 ON [Link] = [Link]
4 WHERE [Link] = 'ALLEN';
9_Affichez la structure de la table SALGRADE. Créez une requête pour afficher le
nom, le poste, le département, le salaire et l'échelon de tous les employés.
SQL> SELECT
2 [Link] AS "Employee",
3 [Link] AS "Job",
4 [Link] AS "Department",
5 [Link] AS "Salary",
6 [Link] AS "Grade"
7 FROM EMP e
8 JOIN DEPT d ON [Link] = [Link]
9 JOIN SALGRADE s ON [Link] BETWEEN [Link] AND [Link];
10_Créez une requête pour afficher le nom et la date d'embauche de tous les
employés arrivés après l'employé Blake
SQL> SELECT ENAME AS "Employee Name", HIREDATE AS "Hire Date"
2 FROM EMP
3 WHERE HIREDATE > (SELECT HIREDATE FROM EMP WHERE ENAME = 'BLAKE');
11_Affichez les noms et date d'embauche des employés et de leur manager, pour tous
les employés ayant été embauchés avant leur manager. Nommez les colonnes Employee,
Emp Hiredate, Manager et Mgr Hiredate, respectivement
SQL> SELECT
2 [Link] AS "Employee",
3 [Link] AS "Emp Hiredate",
4 [Link] AS "Manager",
5 [Link] AS "Mgr Hiredate"
6 FROM EMP e
7 JOIN EMP m ON [Link] = [Link]
8 WHERE [Link] < [Link];
12_Créez une requête pour afficher le nom des employés et leur salaire indiqué par
des astérisques. Chaque astérisque représente cent dollars. Triez les données dans
l'ordre décroissant des salaires. Nommez la colonne EMPLOYEE_AND_THEIR_SALARIES
SQL> SELECT ename||' '||LPAD('*', SAL / 100, '*') AS "EMPLOYEE_AND_THEIR_SALARIES"
2 FROM EMP
3 ORDER BY SAL DESC;