Created
May 27, 2017 18:30
-
-
Save przemyslawjanpietrzak/550f5824c2678dda604742cb8e65658f to your computer and use it in GitHub Desktop.
databases-training
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5.1 | |
select nazwisko, etat, id_zesp, nazwa | |
from pracownicy join zespoly using (id_zesp) | |
; | |
5.2 | |
select nazwisko, etat, id_zesp, nazwa | |
from pracownicy join zespoly using (id_zesp) | |
where adres = 'PIOTROWO 3A' | |
order by nazwisko | |
; | |
5.3 | |
select nazwisko, etat, id_zesp, nazwa | |
from pracownicy join zespoly using (id_zesp) | |
where placa_pod > 400 | |
order by nazwisko | |
; | |
5.4 | |
select nazwisko, placa_pod, placa_od, placa_do, nazwa as kat_plac | |
from pracownicy p | |
join etaty e on p.etat = e.nazwa\ | |
order by nazwisko, kat_plac | |
; | |
5.5 | |
select nazwisko, placa_pod, etat, placa_od, placa_do | |
from pracownicy p | |
join etaty e on p.etat = e.nazwa | |
where | |
placa_pod BETWEEN (SELECT placa_od FROM etaty WHERE nazwa = 'SEKRETARKA') AND (SELECT placa_do FROM etaty WHERE nazwa = 'SEKRETARKA') | |
; | |
5.6 | |
SELECT nazwisko, etat, placa_pod, nazwa | |
FROM pracownicy p JOIN etaty e ON p.etat = e.nazwa | |
WHERE etat != 'ASYSTENT' | |
ORDER BY placa_pod DESC | |
; | |
5.7 | |
SELECT nazwisko, etat, placa_pod, placa_pod * 12 + NVL(placa_dod, 0) as roczna_placa, nazwa | |
FROM pracownicy p JOIN etaty e ON p.etat = e.nazwa | |
WHERE | |
etat in ('ASYSTENT', 'ADIUNKT') AND | |
(placa_pod * 12) + NVL(placa_dod, 0) > 5500 | |
ORDER BY nazwisko | |
; | |
---OR--- | |
SELECT p1.nazwisko, p1.id_prac, p1.id_szefa, p2.nazwisko as szef | |
FROM pracownicy p1 join pracownicy p2 ON p1.id_szefa = p2.id_prac | |
order by nazwisko | |
; | |
5.8 | |
SELECT nazwisko as pracownik, id_prac, id_szefa, (SELECT nazwisko FROM pracownicy p2 WHERE p2.id_prac= p1.id_szefa) | |
FROM pracownicy p1 | |
WHERE p1.id_szefa IS NOT NULL | |
order by nazwisko | |
; | |
---OR--- | |
SELECT p1.nazwisko, p1.id_prac, p1.id_szefa, p2.nazwisko as szef | |
FROM pracownicy p1 LEFT JOIN pracownicy p2 ON p1.id_szefa = p2.id_prac | |
order by nazwisko | |
; | |
5.9 | |
5.10 | |
SELECT z.nazwa, count(p.nazwisko) as liczna, avg(placa_pod) as srednia | |
FROM zespoly z LEFT JOIN pracownicy p USING (id_zesp) | |
GROUP BY z.nazwa | |
ORDER BY nazwa | |
; | |
5.11 | |
SELECT p1.nazwisko, count(p2.nazwisko) as liczba | |
FROM pracownicy p1 LEFT JOIN pracownicy p2 ON (p1.id_prac = p2.id_szefa) | |
GROUP BY p1.nazwisko | |
HAVING count(p2.nazwisko) > 0 | |
ORDER BY liczba DESC | |
; | |
5.12 | |
SELECT p1.nazwisko, p1.zatrudniony, p1.nazwisko, p2.zatrudniony, EXTRACT(year FROM p1.zatrudniony) - EXTRACT(year FROM p2.zatrudniony) as rok | |
FROM pracownicy p1 join pracownicy p2 ON p1.id_szefa= p2.id_prac | |
WHERE EXTRACT(year FROM p1.zatrudniony) - EXTRACT(year FROM p2.zatrudniony) < 10 | |
ORDER BY rok | |
; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment