db2start -- pokretanje SUBP db2 connect to stud2020 user student using abcdef -- povezivanje na bazu stud2020 db2 set schema da -- postavi shemu na da -- 1. izdvoijiti informacije o svim predmetima u bazi db2 describe table predmet -- opisuje tabelu predmet db2 "select * from predmet" -- ako smo u shemi da db2 "select predmet.* from predmet" -- ako smo u shemi da db2 "select * from da.predmet" -- eksplicitno navodimo shemu u kojoj se nalazi tabela db2 "select da.predmet.* from da.predmet" -- eksplicitno navodimo shemu u kojoj se nalazi tabela -- 2. izdvojiti sve podatke o studentima koji su rodjeni u Beogradu db2 "select * from dosije where mestorodjenja='Beograd'" -- 3. izdvojiti sva mesta rodjenja u nasoj bazi db2 "select mestorodjenja from dosije" -- imamo ponavljanja mesta rodjenja db2 "select distinct mestorodjenja from dosije" -- vise nemamo ponavljanja -- 4. izdvojiti sve nazive predmeta koji imaju vise od 6 espb db2 "select naziv from predmet where espb > 6" -- 5. izdvojiti sve oznaka i nazive predmeta koji imaju izmedju 8 i 15 espb db2 "select oznaka, naziv from predmet where espb >= 8 and espb <= 15" db2 "select oznaka, naziv from predmet where espb between 8 and 15" -- 6. izdvojiti sve oznake i nazive predmeta kojima broj espb nije izmedju 8 i 15 db2 "select oznaka, naziv from predmet where espb < 8 or espb > 15" db2 "select oznaka, naziv from predmet where not (espb between 8 and 15)" db2 "select oznaka, naziv from predmet where espb not between 8 and 15" --------------------------------------------------------------------------- -- ako izvrsavamo naredbe iz fajla -- db2 -tvf putanja_do_fajla -- -t = naredbe se zavrsavaju sa ; -- -v = verbose, ispisuje naredbe koje izvrsava -- -f = izvrsvaj naredbu iz fajla ---------------------------------------------------------------------------- -- 7. izdvojiti sve ispitne rokove iz godina 2015/16, 2017/18, 2018/19 SELECT * FROM ispitnirok WHERE skgodina = 2015 OR skgodina = 2017 OR skgodina = 2018; SELECT * FROM ispitnirok WHERE skgodina IN (2015, 2017, 2018); -- 8. izdvojiti sve ispitne rokove koji nisu iz godina 2015/16, 2017/18, 2018/19 SELECT * FROM ispitnirok WHERE skgodina != 2015 AND skgodina != 2017 AND skgodina != 2018; -- != se nekad pise i <> SELECT * FROM ispitnirok WHERE skgodina NOT IN (2015, 2017, 2018); -- 9. izdvojiti nazive predmeta i njihove cene za samofinansirajuce studente -- pretpostaviti da je 1 espb 2000din SELECT naziv, espb * 2000 FROM predmet; SELECT naziv AS naziv_predmeta, espb * 2000 AS cena_predmeta FROM predmet; SELECT naziv AS "Naziv Predmeta", espb * 2000 AS "Cena Predmeta" FROM predmet; -- AS je opciono! SELECT naziv , 'Cena u dinarima' "pojasnjenje", espb * 2000 AS "Cena" FROM predmet; -- 10. Izdvojiti sve podatke o studentima cjie mesto rodjenja sadrzi slovo o -- _ <=> . (bilo koji karakter) -- % <=> .* (0 ili vise karaktera) SELECT * FROM dosije WHERE mestorodjenja LIKE '%o%' -- 11. Izdvojiti sve podatke o studentima cjie mesto rodjenja ima drugo slovo o SELECT * FROM dosije WHERE mestorodjenja LIKE '_o%' -- 12. Izdvojiti sve podatke o studentima cjie mesto rodjenja ima poslednje slovo e SELECT * FROM dosije WHERE mestorodjenja LIKE '%e' -- 12. Izdvojiti sve podatke o studentima cjie mesto rodjenja počinje sa N a završava sa d. SELECT * FROM dosije WHERE mestorodjenja LIKE 'N%d' -- 13. izdvojiti nazive predmeta cije je drugo slovo %, a pretposlednje \ SELECT naziv FROM predmet WHERE naziv LIKE '_\%%\\_'; SELECT naziv FROM predmet WHERE naziv LIKE '_^%%\_' ESCAPE ^; -- 14. Izdvojiti podatke o predmetima koji imaju izmedju 8 i 15 espb. Rezultat urediti -- prema broju espb opadajuce i nazvu rastuce SELECT * FROM predmet WHERE espb BETWEEN 8 AND 15 ORDER BY espb DESC, naziv ASC; -- 15 Izdvojiti podatke o studijskim programima čija je predviđena dužina studiranja 3 -- ili više godina. Izdvojiti oznaku i naziv studijskog programa i broj godina predviđenih -- za studiranje studijskog programa. Rezultat urediti prema predviđenom broju godina za -- studiranje i nazivu studijskog programa. SELECT oznaka, naziv, obimespb / 60 brgodina FROM studijskiprogram WHERE obimespb >= 180 ORDER BY brgodina, 2; -- ovo nece raditi: SELECT oznaka, naziv, obimespb / 60 brgodina FROM studijskiprogram WHERE brgodina >= 3 ORDER BY brgodina, 2; -- Bitan je redosled izvrsavanja stvari u sql