4.1. Nazwisk (last_name) i wypłat (salary) pracowników, którzy zarabiają ponad 90% wypłaty pracownika o nazwisku Chen.
4.2. Nazwisk (last_name) i wypłat (salary) pracowników, którzy zarabiają więcej, niż dowolny pracownik działu 'Marketing'.
4.3. Nazw działów (department_name) i liczby pracowników, w których pracuje więcej pracowników, niż w dziale 'Sales'.
4.4. Miast (city) i średnich płac (salary) pracowników, w których średnia płaca jest większa, niż maksymalna płaca w Londynie.
4.5. Nazwisk pracowników (last_name), ich wypłat (salary) i średnich płac (salary) w działach, w których pracują.
4.6. Nazwisk (last_name), nazw działów (department_name) oraz płac (salary) pracowników, którzy zarabiają najwięcej w dziale.
4.1
SELECT last_name AS "Nazwisko", salary AS "Wypłata"
FROM hr.employees
WHERE salary > (SELECT 0.9 * salary
FROM hr.employees
WHERE last_name = 'Chen')
4.2
SELECT last_name AS "Nazwisko", salary AS "Wypłata"
FROM hr.employees
WHERE salary > (SELECT MIN(e.salary)
FROM hr.employees e
JOIN hr.departments d ON e.department_id = d.department_id
WHERE d.department_name = 'Marketing')
4.3
SELECT d.department_name AS "Nazwa działu", COUNT(e.employee_id) AS "Liczba pracowników"
FROM hr.departments d
JOIN hr.employees e ON e.department_id = d.department_id
GROUP BY d.department_name
HAVING count(e.employee_id) > (SELECT COUNT(e.employee_id)
FROM hr.employees e
JOIN hr.departments d ON e.department_id = d.department_id
WHERE d.department_name = 'Sales')
4.4
SELECT l.city AS "Miasto", ROUND(AVG(e.salary),2) AS "Średnia pensja"
FROM hr.locations l
JOIN hr.departments d ON d.location_id = l.location_id
JOIN hr.employees e ON d.department_id = e.department_id
GROUP BY l.city
HAVING AVG(e.salary) > (SELECT MAX(e.salary)
FROM hr.locations l
JOIN hr.departments d ON d.location_id = l.location_id
JOIN hr.employees e ON d.department_id = e.department_id
WHERE l.city = 'London')
4.5
SELECT e.last_name AS "Nazwisko", e.salary AS "Pensja", (SELECT ROUND(AVG(Salary),2)
FROM employees
WHERE department_id = e.department_id) AS "Średnia pensja w dziale"
FROM employees e
4.6
SELECT e.last_name AS "Nazwisko", d.department_name AS "Nazwa działu", e.salary AS "Pensja"
FROM hr.employees e
JOIN hr.departments d ON d.department_id = e.department_id
WHERE e.salary = (SELECT MAX(salary)
FROM employees
WHERE department_id = e.department_id)
Dodaj komentarz