Professional Documents
Culture Documents
Oracle 5
Oracle 5
3. SA SE AFISEZE ANGAJATII CARE IAU SALARIUL MAI MARE DECAT MEDIA SALARIILOR
MANAGERILOR
4. Sa se afiseze angajatii care au salariul mai mare decat cel putin un manager din
departamentul lor
5.
6.
-- 1) Sa se afiseze salariile managerilor.
SELECT salary, employee_id FROM Employees WHERE employee_id IN (SELECT manager_id
FROM Employees);
-- 3) Sa se afiseze angajatii care iau salariul mai mare decat media salariilor
managerilor
SELECT * FROM Employees WHERE salary > (SELECT ROUND(AVG(salary)) FROM Employees
WHERE employee_id IN (SELECT manager_id FROM Employees));
-- 4) Sa se afiseze angajatii care au salariul mai mare decat cel putin un manager
din departamentul lor.
SELECT * FROM Employees, (SELECT MIN(salary) AS salary, department_id FROM
Employees WHERE employee_id IN (SELECT manager_id FROM Employees) GROUP
BY(department_id)) temp
WHERE Employees.salary > temp.salary AND Employees.department_id =
temp.department_id;
-- 5) Sa se afiseze angajatii (sa nu fie manageri) care au salariul mai mare decat
cel putin un manager din departamentul lor.
SELECT * FROM Employees, (SELECT MIN(salary) AS salary, department_id FROM
Employees WHERE employee_id IN (SELECT manager_id FROM Employees) GROUP
BY(department_id)) temp
WHERE Employees.salary > temp.salary AND Employees.department_id =
temp.department_id AND Employees.employee_id NOT IN (SELECT manager_id FROM
Employees WHERE manager_id IS NOT NULL);