Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. 1. (pojedynczy wiersz) Znajdź nazwiska i zarobki pracowników, których wynagrodzenie jest równie płacy minimalnej
  2. SELECT last_name, salary
  3. FROM employees
  4. WHERE salary = (SELECT MIN (salary)
  5. FROM employees);
  6.  
  7. 2. (wiele wierszy) Znajdź pracowników, których departamenty są w lokalizacji ID=100
  8.  
  9. SELECT last_name, department_id
  10. FROM employees
  11. WHERE department_id IN (SELECT department_id
  12. FROM departments
  13. WHERE LOCATION_ID = 100)
  14.  
  15. 3. (skorelowane) Znajdź wszystkich pracowników, których pensja jest powyżej średniej dla swojego wydziału (departamentu).
  16. SELECT first_name, last_name
  17. FROM employees o
  18. WHERE salary > (SELECT AVG(salary)
  19. FROM employees i
  20. WHERE i.department_id = o.department_id);
  21.  
  22. 4. (EXISTS) Znajdź pracowników którzy są menadżerami
  23. SELECT last_name
  24. FROM employees
  25. WHERE EXISTS (SELECT *
  26. FROM departments
  27. WHERE manager_id = employee_id);
  28.  
  29. Różne:
  30.  
  31. 5. Znajdź nazwiska wszystkich pracowników, których pensja jest większa niż 50% ich całkowitych zarobków departamentu.
  32. SELECT e1.first_name, e1.last_name
  33. FROM employees e1
  34. WHERE salary > (SELECT (SUM(salary))*.5
  35. FROM employees e2
  36. WHERE e1.department_id=e2.department_id);
  37.  
  38. 6. Znajdź nazwiska, zarobki i identyfikator departamentu tych pracowniów których pensja jest mniejsza niż zarobki z dowolnego departamentu
  39.  
  40. SELECT last_name, salary, department_id
  41. FROM employees
  42. WHERE salary IN (SELECT MIN(salary)
  43. FROM employees
  44. GROUP BY department_id);
  45.  
  46. 7. Znajdź nazwiska i identyfikatory pracowników, którzy raportują dla Payam.
  47. SELECT last_name, employee_id
  48. FROM employees
  49. WHERE manager_id = (SELECT employee_id
  50. FROM employees
  51. WHERE first_name = "Payam");
  52.  
  53. 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
  54. SELECT last_name, job_id
  55. FROM employees
  56. WHERE salary < ANY(SELECT salary
  57. FROM employees
  58. WHERE job_id = "MK_MAN" );
  59.  
  60. 9. Znajdź nazwiska i identyfikator pracownika dla wszystkich pracowników, których zarobki są większe niż średnia zarobków we wszystkich departamentów.
  61. SELECT employee_id, last_name,
  62. FROM employees
  63. WHERE salary > ALL(SELECT AVG(salary)
  64. FROM employees
  65. GROUP BY department_id);
  66.  
  67. 10. Znajdź nazwisko pracownika, który pracuje w UK.
  68. SELECT last_name
  69. FROM employees E
  70. WHERE EXISTS (SELECT *
  71. FROM departments D, locations L
  72. WHERE D.location_id = L.location_id
  73. AND D.department_id = E.department_id
  74. AND L.location_id = 'UK');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement