Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --zad 1
- select nazwisko, etat, p.id_zesp, z.nazwa from pracownicy p
- inner join zespoly z on z.ID_ZESP = p.ID_ZESP
- order by nazwisko;
- --zad 2
- select nazwisko, etat, p.id_zesp, z.adres from pracownicy p
- inner join zespoly z on p.id_zesp = z.ID_ZESP
- where adres = 'PIOTROWO 3A'
- order by nazwisko;
- --zad 3
- select nazwisko, z.adres, z.nazwa from pracownicy p
- inner join zespoly z on p.id_zesp = z.id_zesp
- where placa_pod > 400
- order by nazwisko;
- --zad 4
- select nazwisko, placa_pod, etat, nazwa, placa_od, placa_do
- from pracownicy p
- inner join etaty e
- on p.PLACA_POD between e.placa_od and placa_do
- order by nazwisko;
- --zad 5
- select nazwisko, placa_pod, etat, nazwa, placa_od, placa_do
- from pracownicy p
- inner join etaty e
- on p.placa_pod between placa_od and placa_do
- where nazwa = 'SEKRETARKA'
- order by placa_pod desc;
- --zad 6
- select nazwisko, etat, placa_pod, e.nazwa, z.nazwa
- from pracownicy p
- inner join etaty e
- on p.placa_pod between placa_od and placa_do
- left join zespoly z
- on p.ID_ZESP = z.ID_ZESP
- where etat not in ('ASYSTENT')
- order by placa_pod desc;
- --zad 7
- select nazwisko, etat, nvl(12*(placa_pod) + placa_dod, 12*(placa_pod)) as roczna_placa, z.nazwa, e.nazwa
- from pracownicy p
- left join zespoly z
- on p.ID_ZESP = z.ID_ZESP
- left join etaty e
- on p.placa_pod between placa_od and placa_do
- where etat in ('ASYSTENT','ADIUNKT') and nvl(12*(placa_pod) + placa_dod, 12*(placa_pod)) > 5500
- order by nazwisko;
- --zad 8
- select p.nazwisko, p.id_prac, s.nazwisko, p.id_szefa
- from pracownicy p
- inner join pracownicy s
- on p.ID_SZEFA = s.ID_PRAC
- order by p.nazwisko;
- --zad 9
- select p.nazwisko, p.id_prac, s.nazwisko, p.id_szefa
- from pracownicy p
- left join pracownicy s
- on p.ID_SZEFA = s.ID_PRAC
- order by p.nazwisko;
- --zad 10
- select z.nazwa, count(*) as liczba, nvl(avg(placa_pod), 0)
- from zespoly z
- left join pracownicy p
- on z.id_zesp = p.id_zesp
- group by z.nazwa
- order by z.nazwa;
- --zad 11
- select s.nazwisko, count(*) as liczba
- from pracownicy s
- inner join pracownicy p
- on s.id_prac = p.id_szefa
- group by s.nazwisko
- order by liczba desc;
- --zad 12
- select p.nazwisko, p.zatrudniony, s.nazwisko, s.zatrudniony
- from pracownicy p
- inner join pracownicy s
- on p.ID_SZEFA = s.ID_PRAC
- where extract(year from p.zatrudniony) < (extract(year from s.zatrudniony) + 10)
- order by p.zatrudniony;
- --zad 13
- select e.nazwa from etaty e
- inner join pracownicy p
- on e.nazwa = p.etat
- where extract(year from p.zatrudniony) = '1992'
- intersect
- select e.nazwa from etaty e
- inner join pracownicy p
- on e.nazwa = p.etat
- where extract(year from p.zatrudniony) = '1993';
- --zad 15
- select nazwisko, placa_pod,
- ( case when placa_pod < 480 then 'poniżej 480'
- end) as prog
- from pracownicy
- where placa_pod < 480
- union
- select nazwisko, placa_pod,
- ( case when placa_pod = 480 then 'dokładnie 480'
- end) as prog
- from pracownicy
- where placa_pod = 480
- union
- select nazwisko, placa_pod,
- ( case when placa_pod > 480 then 'powyżej 480'
- end) as prog
- from pracownicy
- where placa_pod > 480
- order by placa_pod;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement