--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' )