--1 Dla każdego pracownika odpowiedzialnego za jakiś przedmiot
-- podaj liczbę przedmiotów z których prowadzi zajęcia (tabela ROZKLADY).
select nazwisko, count(r.nr_przedm) as liczbaprzedm
from pracownicy p, rozklady r
where p.NR_PRAC = r.NR_PRAC and p.NR_PRAC in
(select p1.nr_odp_prac
from przedmioty p1
)
group by nazwisko, p.NR_PRAC
--2 Podaj nazwiska i średnią ocen z przedmiotu ALGEBRA tych studentów
--, którzy z tego przedmiotu mają więcej niż jedną ocenę.
select s.NAZWISKO, avg(o.OCENA)
from studenci s, oceny o, przedmioty p
where s.NR_STUD = o.NR_STUD and o.NR_PRZEDM = p.NR_PRZEDM and p.NAZWA_PRZEDM = 'ALGEBRA'
group by s.NAZWISKO, s.NR_STUD
having count(distinct o.ocena)>1
-- 3Podaj przedmioty realizowane przez największą liczbę pracowników.
select p.nazwa_przedm
from przedmioty p
join rozklady r on p.nr_przedm = r.NR_PRZEDM
group by p.nazwa_przedm
having count(distinct nr_prac)>=all
(select count(distinct rr.nr_prac)
from rozklady rr
group by rr.nr_przedm
)
--4Podaj numery i nazwiska pracowników, którzy w temacie DYSK otrzymali wypłatę
--mniejszą od co najmniej jednej z wypłat pracownika o nazwisku GRZYBEK w dowolnym temacie.
select p.NR_PRAC ,p.NAZWISKO
from pracownicy p, wyplaty w, tematy t
where p.NR_PRAC = w.NR_PRAC and w.NR_TEM = t.NR_TEM and t.TEMAT = 'DYSK' and w.KWOTA < any
(select w1.KWOTA
from pracownicy p1, wyplaty w1
where p1.NR_PRAC = w1.NR_PRAC and p1.NAZWISKO = 'GRZYBEK'
group by w1.KWOTA
);
--5Podaj numery, nazwiska i daty urodzenia mężczyzn zatrudnionych
--w zespole OPROGRAMOWANIE, którzy są młodsi od każdego pracownika zespołu BUDOWA.
select p.NR_PRAC, p.NAZWISKO, p.DATA_UR
from pracownicy p, zespoly z
where z.NR_ZESP = p.NR_ZESP and p.PLEC = 'M' and z.NAZWA_ZESP = 'OPROGRAMOWANIE'
and p.DATA_UR > all
(select p1.DATA_UR
from pracownicy p1, zespoly z1
where p1.nr_zesp = z1.NR_ZESP and z1.NAZWA_ZESP = 'BUDOWA'
group by p1.data_ur
)
--6 Podaj nazwiska najstarszych studentów na poszczególnych kierunkach.
--7 Podaj nazwy zespołów, w których nie pracuje żadna kobieta.
select distinct z.NAZWA_ZESP
from zespoly z
where z.NR_ZESP not in
(select p.NR_ZESP
from pracownicy p
where p.nazwisko = 'K'
)
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}