Facebook
From Bitty Dove, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 210
  1. --1 Dla każdego pracownika odpowiedzialnego za jakiś przedmiot
  2. -- podaj liczbę przedmiotów z których prowadzi zajęcia (tabela ROZKLADY).
  3. select nazwisko, count(r.nr_przedm) as liczbaprzedm
  4. from pracownicy p, rozklady r
  5. where p.NR_PRAC = r.NR_PRAC and p.NR_PRAC in
  6. (select p1.nr_odp_prac
  7. from przedmioty p1
  8. )
  9. group by nazwisko, p.NR_PRAC
  10.  
  11. --2 Podaj nazwiska i średnią ocen z przedmiotu ALGEBRA tych studentów
  12. --, którzy z tego przedmiotu mają więcej niż jedną ocenę.
  13. select s.NAZWISKO, avg(o.OCENA)
  14. from studenci s, oceny o, przedmioty p
  15. where s.NR_STUD = o.NR_STUD and o.NR_PRZEDM = p.NR_PRZEDM and p.NAZWA_PRZEDM = 'ALGEBRA'
  16. group by s.NAZWISKO, s.NR_STUD
  17. having count(distinct o.ocena)>1
  18. -- 3Podaj przedmioty realizowane przez największą liczbę pracowników.
  19. select p.nazwa_przedm
  20. from przedmioty p
  21. join rozklady r on p.nr_przedm = r.NR_PRZEDM
  22. group by p.nazwa_przedm
  23. having count(distinct nr_prac)>=all
  24. (select count(distinct rr.nr_prac)
  25. from rozklady rr
  26. group by rr.nr_przedm
  27. )
  28.  
  29.  
  30. --4Podaj numery i nazwiska pracowników, którzy w temacie DYSK otrzymali wypłatę
  31. --mniejszą od co najmniej jednej z wypłat pracownika o nazwisku GRZYBEK w dowolnym temacie.
  32.  
  33. select p.NR_PRAC ,p.NAZWISKO
  34. from pracownicy p, wyplaty w, tematy t
  35. where p.NR_PRAC = w.NR_PRAC and w.NR_TEM = t.NR_TEM and t.TEMAT = 'DYSK' and w.KWOTA < any
  36.         (select w1.KWOTA
  37.         from pracownicy p1, wyplaty w1
  38.         where p1.NR_PRAC = w1.NR_PRAC and p1.NAZWISKO = 'GRZYBEK'
  39.         group by w1.KWOTA
  40.         );
  41.        
  42. --5Podaj numery, nazwiska i daty urodzenia mężczyzn zatrudnionych
  43. --w zespole OPROGRAMOWANIE, którzy są młodsi od każdego pracownika zespołu BUDOWA.
  44. select p.NR_PRAC, p.NAZWISKO, p.DATA_UR
  45. from pracownicy p, zespoly z
  46. where z.NR_ZESP = p.NR_ZESP and p.PLEC = 'M' and z.NAZWA_ZESP = 'OPROGRAMOWANIE'
  47. and p.DATA_UR > all
  48.         (select p1.DATA_UR
  49.         from pracownicy p1, zespoly z1
  50.         where p1.nr_zesp = z1.NR_ZESP and z1.NAZWA_ZESP = 'BUDOWA'
  51.         group by p1.data_ur
  52.         )      
  53. --6 Podaj nazwiska najstarszych studentów na poszczególnych kierunkach.
  54.  
  55.                
  56. --7 Podaj nazwy zespołów, w których nie pracuje żadna kobieta.
  57. select distinct z.NAZWA_ZESP
  58. from zespoly z
  59. where z.NR_ZESP not in
  60.         (select p.NR_ZESP
  61.         from pracownicy p
  62.         where p.nazwisko = 'K'
  63.         )