Advertisement
fr1sk

Untitled

Nov 15th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. -podupiti : SELECT blok umetnut u logicki izraz WHERE drugog SELECT upita. (Svojstvo ugnjezdenja select upita)
  2. Koriste se za :
  3. 1) predstavljanje pojedinacne vrednosti koja ucestvuje u operaciji poredjenja
  4. 2) predstavljanje skupa vrednosti cija se nepraznost ispituje pomocu EXISTS, IN, SOME, ANY, ALL I zatim ucestvuje u poredjenju.
  5. Ugnjezdeni select moze se zameniti upitom spajanja sto je efikasnije.
  6. Prvo se izvrsava podupit koj vraca skup vrednosti.
  7. SOME, ANY, ALL – vracaju vise od jednog elemenata – Kvantifikovano poredjenje (<,>...)
  8. Izvrsava se samo jedanput, prvo on pa onda ide unazad I trazi da li mu pripada nesto sto trazimo. Primer podupita:
  9. select I.naziv
  10. from I
  11. where I.I_sif In (select ki.i_sif
  12. from KI
  13. where KI.K_SIF='k6')
  14.  
  15. V cas: 73str - 93str
  16. 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:
  17. SELECT I.NAZIV
  18. FROM I
  19. WHERE 'k6' IN (SELECT KI.K_SIF
  20. FROM KI
  21. WHERE KI.I_SIF=I.I_SIF)
  22. Egzistencijalni – exist (not exist), Svaki upit sa IN moze se zameniti sa Exist, obrnuto ne vazi
  23. Univerzalni ne postoji, ali se koristi pomocu exists tj kontra. 'forall x'P(x) = NOT EXISTS x(!P(x))
  24. svaki naziv Marko <=> ne postoji naziv koji nije marko
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement