 insert into pacient (ID_pacienta,rodne_cislo,jmeno,prijmeni,pojistovna,adresa,telefon_na_pribuzne,telefon,email)
        values(pacient_seq.nextval,8957281729,'Denisa','Moravcová',201,'Jaselská 70, Brno','+420985774844','+420369587825','deniskamoravcova@gmail.com');
 insert into pacient (ID_pacienta,rodne_cislo,jmeno,prijmeni,pojistovna,adresa,telefon_na_pribuzne,telefon,email)
-       values(pacient_seq.nextval,6904185662,'Michal','Hradil',111,'Pražská 17, Brno','+420492874844','+420777456865','michal.hradil@gmail.com');
+       values(pacient_seq.nextval,6904185662,'Michal','Hradil',111,'Pražská 17, Brno','+420492874844','','michal.hradil@gmail.com');
 
 insert into hospitalizace (ID_hospitalizace,datum_zahajeni,datum_ukonceni,pacient,oddeleni,dozorujici_lekar)
        values(hospitalizace_seq.nextval,TO_DATE('10.10.2008', 'dd.mm.yyyy'),TO_DATE('10.11.2012', 'dd.mm.yyyy'),1,'Kardiologie',1);

       values(3,'Kardiologie','324571456',1);

insert into Vysetreni_aplikuje_Lecivo (vysetreni,lecivo,mnozstvi,cas,datum)
       values(1,'0059393','2',TO_DATE('10:10', 'HH24:MI'),TO_DATE('10.10.2008', 'dd.mm.yyyy'));
insert into Vysetreni_aplikuje_Lecivo (vysetreni,lecivo,mnozstvi,cas,datum)
       values(2,'0115528','4',TO_DATE('13:33', 'HH24:MI'),TO_DATE('10.11.2008', 'dd.mm.yyyy'));
insert into Vysetreni_aplikuje_Lecivo (vysetreni,lecivo,mnozstvi,cas,datum)


-- 1) spojeni dvou tabulek
-- vypise jmeno a prijmeni a ID vysetreni vsech zamestnancu, kteri provedli nejaka vysetreni
    select jmeno, prijmeni, ID_vysetreni  
    from Personal, vysetreni 
    where (Personal.ID_personal = vysetreni.provedl);

-- vypise jmeno, prijmeni a pojistovnu pacientu, kteri byli hospitalizovani na oddeleni Kardiologie
    select jmeno, prijmeni, pojistovna 
    from Pacient, Hospitalizace
    where (pacient.ID_pacienta = Hospitalizace.pacient and Hospitalizace.oddeleni = 'Kardiologie');

-- 2) spojeni 3 tabulek
-- vypise vsechna oddeleni, na kterych pracuje lekar s ID 1
    select ID_personal, nazev_oddeleni 
    from (Lekar inner join Lekar_pracuje_na_Oddeleni on (ID_personal = lekar) inner join Oddeleni on (Oddeleni = nazev_oddeleni)) 
    where ID_personal = 1;

-- 3) Klauzule group by s agregacni funkci
-- vypise, kolik zamestnancu ma jaky typ uvazku
    select count(ID_personal), uvazek from Personal group by uvazek;

-- pocet aktualne hospitalizovanych pacientu
    select sum(count(ID_pacienta)) 
    from pacient
    inner join hospitalizace on (hospitalizace.pacient = pacient.ID_pacienta) 
    where(sysdate between hospitalizace.datum_zahajeni and hospitalizace.datum_ukonceni) 
    group by ID_pacienta;

-- 4) Dotaz obsahujici predikat EXISTS
-- vybere vsechny pacienty, kteri jsou prave hospitalizovani, a k nim vypise jejich dozorujiciho lekare, pokud prave nejake hospitalizace probihaji
    select dozorujici_lekar, pacient 
    from hospitalizace 
    where(sysdate between hospitalizace.datum_zahajeni and hospitalizace.datum_ukonceni) 
    and exists (select * from hospitalizace where sysdate between hospitalizace.datum_zahajeni and hospitalizace.datum_ukonceni);

-- 5) dotaz s predikatem IN s vnorenym selectem
-- vypise jmeno a prijmeni pacientu, kteri jsou prave hospitalizovani a jejich pojistovna je 111 nebo 205
    select jmeno, prijmeni
    from pacient 
    inner join hospitalizace on (ID_pacienta = pacient) 
    where(SYSDATE BETWEEN hospitalizace.datum_zahajeni and hospitalizace.datum_ukonceni) 
    and pojistovna in (111,205);
commit;