Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. (pojedynczy wiersz) Znajdź nazwiska i zarobki pracowników, których wynagrodzenie jest równie płacy minimalnej
- SELECT last_name, salary
- FROM employees
- WHERE salary = (SELECT MIN (salary)
- FROM employees);
- 2. (wiele wierszy) Znajdź pracowników, których departamenty są w lokalizacji ID=100
- SELECT last_name, department_id
- FROM employees
- WHERE department_id IN (SELECT department_id
- FROM departments
- WHERE LOCATION_ID = 100)
- 3. (skorelowane) Znajdź wszystkich pracowników, których pensja jest powyżej średniej dla swojego wydziału (departamentu).
- SELECT first_name, last_name
- FROM employees o
- WHERE salary > (SELECT AVG(salary)
- FROM employees i
- WHERE i.department_id = o.department_id);
- 4. (EXISTS) Znajdź pracowników którzy są menadżerami
- SELECT last_name
- FROM employees
- WHERE EXISTS (SELECT *
- FROM departments
- WHERE manager_id = employee_id);
- Różne:
- 5. Znajdź nazwiska wszystkich pracowników, których pensja jest większa niż 50% ich całkowitych zarobków departamentu.
- SELECT e1.first_name, e1.last_name
- FROM employees e1
- WHERE salary > (SELECT (SUM(salary))*.5
- FROM employees e2
- WHERE e1.department_id=e2.department_id);
- 6. Znajdź nazwiska, zarobki i identyfikator departamentu tych pracowniów których pensja jest mniejsza niż zarobki z dowolnego departamentu
- SELECT last_name, salary, department_id
- FROM employees
- WHERE salary IN (SELECT MIN(salary)
- FROM employees
- GROUP BY department_id);
- 7. Znajdź nazwiska i identyfikatory pracowników, którzy raportują dla Payam.
- SELECT last_name, employee_id
- FROM employees
- WHERE manager_id = (SELECT employee_id
- FROM employees
- WHERE first_name = "Payam");
- 8. Znajdź nazwiska i job_id dla wszystkich pracowników których zarobki są mniejsze niż dowolne zarobki tych pracowników których stanowisko to MK_MAN
- SELECT last_name, job_id
- FROM employees
- WHERE salary < ANY(SELECT salary
- FROM employees
- WHERE job_id = "MK_MAN" );
- 9. Znajdź nazwiska i identyfikator pracownika dla wszystkich pracowników, których zarobki są większe niż średnia zarobków we wszystkich departamentów.
- SELECT employee_id, last_name,
- FROM employees
- WHERE salary > ALL(SELECT AVG(salary)
- FROM employees
- GROUP BY department_id);
- 10. Znajdź nazwisko pracownika, który pracuje w UK.
- SELECT last_name
- FROM employees E
- WHERE EXISTS (SELECT *
- FROM departments D, locations L
- WHERE D.location_id = L.location_id
- AND D.department_id = E.department_id
- AND L.location_id = 'UK');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement