0% ont trouvé ce document utile (0 vote)
32 vues6 pages

TP SQL Zaid Harboul GRP 5

Le document présente une série de requêtes SQL pour interroger une base de données d'employés et de départements. Les requêtes incluent la sélection de départements distincts, l'affichage des employés avec leurs salaires, et le comptage des employés par département. D'autres requêtes permettent d'analyser les employés en fonction de leur ancienneté, de leur manager, et des changements de poste.

Transféré par

zaidmoder22
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)
32 vues6 pages

TP SQL Zaid Harboul GRP 5

Le document présente une série de requêtes SQL pour interroger une base de données d'employés et de départements. Les requêtes incluent la sélection de départements distincts, l'affichage des employés avec leurs salaires, et le comptage des employés par département. D'autres requêtes permettent d'analyser les employés en fonction de leur ancienneté, de leur manager, et des changements de poste.

Transféré par

zaidmoder22
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

TP SQL

Zaid Harboul
3IIR-GR5
1. Lister les départements distincts triés par ordre alphabétique :
SELECT DISTINCT department_name FROM departments ORDER BY
department_name;

2. Afficher le nom et le poste de tous les employés :


SELECT first_name, last_name, job_title FROM employees;
3. Afficher les employés dont le salaire est supérieur à 3000 :
SELECT first_name, last_name, salary FROM employees WHERE salary >
3000;

4. Afficher les noms et salaires des employés, et calculer leur salaire annuel :
SELECT first_name, last_name, salary, salary * 12 AS annual_salary
FROM employees;
5. Afficher le nombre d'employés par département :

SELECT department_id, COUNT(*) AS employee_count FROM employees GROUP


BY department_id;

6. Lister les employés avec leur prénom, nom et le nombre d'années dans
l'entreprise :
SELECT first_name, last_name, FLOOR(MONTHS_BETWEEN(SYSDATE,
hire_date) / 12) AS years_with_company FROM employees;
7. Afficher le nom des employés et le nom de leur manager :
SELECT e.first_name || ' ' || e.last_name AS employee, m.first_name
|| ' ' || m.last_name AS manager FROM employees e LEFT JOIN employees
m ON e.manager_id = m.employee_id;

8. Afficher tous les employés dans le même département que Lindsey Smith :
SELECT first_name, last_name FROM employees WHERE department_id =
(SELECT department_id FROM employees WHERE first_name = 'Lindsey' AND
last_name = 'Smith');

9. Lister les employés embauchés avant la date d'embauche la plus ancienne du


département 30 :
SELECT first_name, last_name FROM employees WHERE hire_date < (SELECT
MIN(hire_date) FROM employees WHERE department_id = 30);

10. Lister les départements ayant plus de 3 employés avec un salaire supérieur à
2500 :
SELECT department_id, COUNT(*) AS high_salary_count FROM employees
WHERE salary > 2500 GROUP BY department_id HAVING COUNT(*) > 3;
11. Lister les employés ayant changé de poste au moins une fois, avec le nombre de
changements :
SELECT employee_id, COUNT(DISTINCT job_id) - 1 AS job_changes FROM
job_history GROUP BY employee_id HAVING COUNT(DISTINCT job_id) > 1;

Vous aimerez peut-être aussi