3SQL
3SQL
Exercice 1:
```sql
-- a) Nom employé et département
SELECT e.last_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
-- g) Nom et ville
-- SQL 92
SELECT e.last_name, l.city
FROM employees e, departments d, locations l
WHERE e.department_id = d.department_id
AND d.location_id = l.location_id;
-- SQL 99
SELECT e.last_name, l.city
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id;
```
Exercice 2:
```sql
-- a) Salaire minimum
SELECT MIN(salary) FROM employees;
-- b) Stats salaires
SELECT MIN(salary), MAX(salary), SUM(salary), AVG(salary)
FROM employees;
-- c) Nombre total employés
SELECT COUNT(*) FROM employees;
-- e) Moyenne commissions
SELECT AVG(commission_pct) FROM employees;
Exercice 3:
```sql
-- a) Employés comme Fay
SELECT last_name, salary, job_id
FROM employees
WHERE salary = (SELECT salary FROM employees WHERE last_name = 'Fay');
Exercice 4:
```sql
-- a) Employés et leurs managers
SELECT e.employee_id "Emp_Id", e.last_name "Employee",
m.employee_id "Mgr_Id", m.last_name "Manager"
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.employee_id;
-- c) Nom et grade
SELECT e.last_name, j.grade_level
FROM employees e
JOIN job_grades j ON e.salary BETWEEN j.lowest_sal AND j.highest_sal;
```