Advertisement
mali_cox

Peti

Nov 22nd, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 5.65 KB | None | 0 0
  1. -- Laboratorijska Vježba 5 - Podupiti
  2.  
  3. -- Zadatak 1 - Samo je Susan zaposlena u odjelu 40, probajte Donald
  4. SELECT e.first_name || ' ' || e.last_name "Naziv zaposlenog", d.department_name "Odjel", d.department_id, j.job_title "Posao"
  5. FROM employees e, departments d, jobs j
  6. WHERE e.department_id = d.department_id AND e.job_id = j.job_id AND e.first_name NOT LIKE 'Susan' AND
  7.       e.department_id = ( SELECT department_id
  8.                            FROM employees
  9.                            WHERE first_name LIKE 'Susan' );
  10.  
  11. -- Zadatak 2
  12. SELECT employee_id, first_name, last_name, salary
  13. FROM employees
  14. WHERE salary > ( SELECT Avg(salary)
  15.                  FROM employees
  16.                  WHERE department_id IN (30, 90) );
  17.  
  18. -- Zadatak 3
  19. SELECT *
  20. FROM employees
  21. WHERE department_id IN ( SELECT department_id
  22.                          FROM employees
  23.                          WHERE first_name LIKE '%C%' );
  24.  
  25. -- Zadatak 4
  26. SELECT e.employee_id "Sifra zaposlenog", e.first_name || ' ' || e.last_name "Naziv zaposlenog", j.job_title "Naziv posla"
  27. FROM employees e, jobs j
  28. WHERE e.job_id = j.job_id AND department_id IN ( SELECT d.department_id
  29.                                                  FROM departments d, locations l
  30.                                                  WHERE d.location_id = l.location_id AND l.city LIKE 'Toronto' );
  31.  
  32. -- Zadatak 5
  33. SELECT *
  34. FROM employees
  35. WHERE manager_id IN ( SELECT employee_id
  36.                       FROM employees
  37.                       WHERE last_name LIKE 'King' );
  38.  
  39. -- Zadatak 6 - Ako je greška u postavci, treba modificirati zadatak 2
  40. SELECT e.employee_id, e.first_name, e.last_name, e.salary
  41. FROM employees e
  42. WHERE e.salary > ( SELECT Avg(e1.salary)
  43.                    FROM employees e1
  44.                    WHERE e1.department_id = e.department_id );
  45.  
  46. -- Zadatak 6 - Ako nije onda...
  47. SELECT *
  48. FROM employees
  49. WHERE salary > ( SELECT Avg(salary)
  50.                  FROM employees
  51.                  WHERE first_name LIKE '%C%' );
  52.  
  53. -- Zadatak 7
  54. SELECT e.first_name || ' ' || e.last_name "Naziv zaposlenog", d.department_name "Naziv odjela", e.salary "Plata"
  55. FROM employees e, departments d
  56. WHERE e.department_id = d.department_id AND e.salary IN ( SELECT e1.salary
  57.                                                           FROM employees e1
  58.                                                           WHERE e1.department_id = e.department_id AND e1.commission_pct IS NOT NULL );
  59.  
  60. -- Zadatak 8 - U Rimu nema zaposlenika, boje je Seattle
  61. SELECT e.first_name || ' ' || e.last_name "Naziv zaposlenog", d.department_name "Naziv odjela", e.salary "Plata", l.city "Grad"
  62. FROM employees e, departments d, locations l
  63. WHERE e.department_id = d.department_id AND  l.location_id = d.location_id
  64.       AND (e.salary, Nvl(e.commission_pct, 0)) IN ( SELECT te.salary, Nvl(te.commission_pct,0)
  65.                                                     FROM employees te, departments td, locations tl
  66.                                                     WHERE te.department_id = td.department_id AND  tl.location_id = td.location_id AND tl.city LIKE 'Seattle'
  67.                                                     GROUP BY te.salary, te.commission_pct );
  68.  
  69. -- Zadatak 9 - Scott ne postoji, može Susan
  70. SELECT first_name || ' ' || last_name "Naziv zaposlenog", hire_date "Datum zaposlenja", salary "Plata"
  71. FROM employees
  72. WHERE (salary, Nvl(commission_pct, 0)) IN ( SELECT salary, Nvl(commission_pct, 0)
  73.                                             FROM employees
  74.                                             WHERE first_name LIKE 'Susan' );
  75. -- Zadatak 10
  76. SELECT *
  77. FROM employees
  78. WHERE salary > ( SELECT Max(salary)
  79.                  FROM employees e, departments d
  80.                  WHERE e.department_id = d.department_id AND Lower(department_name) LIKE '%sale%' )
  81. ORDER BY salary DESC;
  82.  
  83. -- Zadatak 11
  84. SELECT e.first_name || ' ' || e.last_name "Naziv zaposlenog", d.department_name "Naziv odjela", j.job_title "Naziv posla", l.city "Grad"
  85. FROM employees e, departments d, jobs j, locations l, ( SELECT Avg(s.salary) prosjecna_plata
  86.                                                         FROM employees e, employees s
  87.                                                         WHERE e.manager_id = s.employee_id AND s.commission_pct IS NOT NULL ) sefovi
  88. WHERE e.department_id = d.department_id AND e.job_id = j.job_id AND d.location_id = l.location_id AND e.salary > sefovi.prosjecna_plata;
  89.  
  90. -- Zadatak 12
  91. SELECT e.employee_id "Sifra zaposlenog", Concat(Concat(e.first_name,' '),e.last_name) "Naziv zaposlenog",
  92.        d.department_id "Sifra odjela", d.department_name "Naziv odjela",
  93.  
  94.        ( SELECT Ceil(Avg(f.salary))
  95.          FROM employees f
  96.          WHERE e.department_id=f.department_id ) "Prosjecna plata odjela",
  97.  
  98.        ( SELECT Min(f1.salary)
  99.          FROM employees f1
  100.          WHERE e.department_id=f1.department_id ) "Mininalna plata odjela",
  101.  
  102.        ( SELECT Max(f2.salary)
  103.          FROM employees f2
  104.          WHERE e.department_id=f2.department_id ) "Maksimalna plata odjela",
  105.  
  106.        ( SELECT Ceil(Avg(t.salary))
  107.          FROM employees t ) "Prosjecna plata firme",
  108.  
  109.        ( SELECT Min(t1.salary)
  110.          FROM employees t1 ) "Minimalna plata firme",
  111.  
  112.        ( SELECT Max(t2.salary)
  113.          FROM employees t2 ) "Maksimalna plata firme"
  114.  
  115. FROM employees e, departments d
  116. WHERE e.department_id = d.department_id   AND e.salary > ( SELECT Min(Avg(ts.salary))
  117.                                                            FROM employees ts
  118.                                                            WHERE e.manager_id = ts.employee_id AND e.department_id = ts.department_id
  119.                                                            GROUP BY ts.department_id );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement