Databázy - cvičenie - 8. týždeň
Created: 2008-11-12 - 17:24
use poliklinika --1) pomocou exists zistite id a mena pacientov, ktori uz boli u kardiologa select p.idp, p.krstne from pacienti p where exists (select N.idp from navstevy N where n.idl = 3 and (p.idp = n.idp)) --2) najdite pacientov, ktori maju vyssi mesacny prijem ako adam select * from pacienti p where p.mesPrijem > (select p.mesPrijem from pacienti p where p.krstne = 'adam') --3) a-d) --a) najdite zoradene id tych, ktori uz niekedy zaplatili poplatok aspon 300 select idp from navstevy where poplatok >= 300 order by idp --b) najdite mena a prijem tych co niekedy zaplatili poplatok aspon 300 select distinct p.krstne,p.mesPrijem from pacienti p join navstevy n on p.idp = n.idp where n.poplatok >= 300 --c) najdite minimalny prijem tych, ktori uz niekedy zaplatili poplatok aspon 300 select min(mesPrijem) from pacienti p join navstevy n on p.idp = n.idp where poplatok>=300 --alebo alternativne cez b) ako vnutorny dopyt --d) najdite mena pacientov, ktori zarabaju aspon tolko ako minimalny -- prijem tych, ktori uz niekedy zaplatili poplatok aspon 300 select * from pacienti where mesPrijem >= ALL (select min(mesPrijem) from pacienti p join navstevy n on p.idp = n.idp where poplatok>=300) --e) Najdite mena pacientov, ktori zarabaju aspon tolko ako -- najvacsi z prijmov tych, ktori uz niekedy zaplatili poplatok aspon 300. select * from pacienti where mesPrijem >= ALL (select mesPrijem from pacienti p join navstevy n on p.idp = n.idp where poplatok>=300 and mesPrijem is not null)