Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -podupiti : SELECT blok umetnut u logicki izraz WHERE drugog SELECT upita. (Svojstvo ugnjezdenja select upita)
- Koriste se za :
- 1) predstavljanje pojedinacne vrednosti koja ucestvuje u operaciji poredjenja
- 2) predstavljanje skupa vrednosti cija se nepraznost ispituje pomocu EXISTS, IN, SOME, ANY, ALL I zatim ucestvuje u poredjenju.
- Ugnjezdeni select moze se zameniti upitom spajanja sto je efikasnije.
- Prvo se izvrsava podupit koj vraca skup vrednosti.
- SOME, ANY, ALL – vracaju vise od jednog elemenata – Kvantifikovano poredjenje (<,>...)
- Izvrsava se samo jedanput, prvo on pa onda ide unazad I trazi da li mu pripada nesto sto trazimo. Primer podupita:
- select I.naziv
- from I
- where I.I_sif In (select ki.i_sif
- from KI
- where KI.K_SIF='k6')
- V cas: 73str - 93str
- Korelisani podupit – zavisan od spoljasnjeg bloka: oni se ne izvrsavaju samo jedanput. Unutar podupita zavisi od tabele van tog upita tako da on mora da se izvrsi svaki put za svakon n-torku spoljasnjeg dela da bi se utvrilo da li se bas ona nalazi u podupitu. Ako se odnose da istu tabelu uvodimo razlicita imena. Isti primer kao gore samo sa korelisanim:
- SELECT I.NAZIV
- FROM I
- WHERE 'k6' IN (SELECT KI.K_SIF
- FROM KI
- WHERE KI.I_SIF=I.I_SIF)
- Egzistencijalni – exist (not exist), Svaki upit sa IN moze se zameniti sa Exist, obrnuto ne vazi
- Univerzalni ne postoji, ali se koristi pomocu exists tj kontra. 'forall x'P(x) = NOT EXISTS x(!P(x))
- svaki naziv Marko <=> ne postoji naziv koji nije marko
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement