-- INSERT -- INSERT INTO ime_tabele (...) -- podaci -- 1. Dodati ispitni rok Oktobar 2 2015 SELECT * FROM ispitnirok WHERE skgodina = 2015; INSERT INTO ispitnirok VALUES (2015, 'okt2', 'Oktobar2 2015', '01.10.2016', '07.10.2016'); -- 2.dodatmo studenta Ivana Markovica sa brojem indeks 20140055 -- rodjen u Beogradu, datdipl i pol budu nepoznati. SELECT * FROM dosije; SELECT distinct idstatusa FROM dosije; SELECT distinct idprograma FROM dosije; INSERT INTO dosije VALUES (20140055, 101, 'Ivan', 'Markovic', NULL, 'Beograd', 1, '10.06.2014', NULL); INSERT INTO dosije (indeks, ime, prezime, pol, mestorodjenja, idprograma, idstatusa, datupisa, datdiplomiranja) VALUES (20140055, 'Ivan', 'Markovic', NULL, 'Beograd', 101, 1, '10.06.2014', NULL); INSERT INTO dosije (indeks, ime, prezime, mestorodjenja, idprograma, idstatusa, datupisa) VALUES (20140055, 'Ivan', 'Markovic', 'Beograd', 101, 1, '10.06.2014'); SELECT * FROM dosije WHERE indeks = 20140055; delete from dosije where indeks = 20140055; -- dodati ANALIZA 3 u oktobru 2 do15 neuspesno polagane SELECT * FROM ispit; SELECT * FROM upisankurs WHERE idpredmeta IN (SELECT id FROM predmet WHERE naziv='Analiza 3'); INSERT INTO upisankurs(indeks, skgodina, semestar, idpredmeta) SELECT 20140055, 2015, 2, p.id FROM predmet p WHERE p.naziv = 'Analiza 3'; INSERT INTO ispit (skgodina, oznakaroka, indeks, idpredmeta, status, ocena) SELECT 2015, 'okt2', 20140055, p.id, 'o', 5 FROM predmet p WHERE p.naziv = 'Analiza 3'; SELECT * FROM ispit WHERE indeks = 20140055; -- hocemo da dodamo analizu2 u okt2 2015 bodvi=74 ocena 8 INSERT INTO ispit (skgodina, oznakaroka, indeks, idpredmeta, status, poeni, ocena) VALUES (2015, 'okt2', 20140055, 2357, 'o', 74, 8); SELECT * FROM predmet WHERE naziv = 'Analiza 2'; SELECT * FROM dosije WHERE indeks = 20140055; SELECT * FROM studijskiprogram WHERE id=101; -- hocemo da dodamo analizu2 u okt2 2015 bodvi=74 ocena 8 DELETE FROM ispit WHERE indeks = 20140055; INSERT INTO ispit (skgodina, oznakaroka, indeks, idpredmeta, status, poeni, ocena) VALUES (2015, 'okt2', 20140055, 2357, 'o', 74, 20); INSERT INTO upisankurs(indeks, skgodina, semestar, idpredmeta) VALUES (20140055, 2015, 1 , 2357); -- 3. Dodati studenta sa brojem indeks 20140074 koji je po svemu isti kao student sa brojem indeksa -- 20150174 INSERT INTO dosije SELECT 20140074, 'Milan', prezime, pol, mestorodjenja, idstatus, datupisa, datdiplomiranja FROM dosije WHERE indeks = 20150174; -- DELETE -- DELETE FROM ime_tabele -- WHERE klasican_uslov_u_sql DELETE FROM ispit WHERE indeks = 20140055; DELETE FROM upisankurs WHERE indeks = 20140055; DELETE FROM dosije WHERE indeks = 20140055; DELETE FROM ispit; SELECT * FROM ispit; -- 4. izbrisati sva polaganja predmeta Analiza 3; DELETE FROM ispit WHERE idpredmeta IN ( SELECT p.idPredmeta FROM predmet p WHERE p.naziv='Analiza 3'); SELECT COUNT(*) FROM ispit; -- 5 Obrisemo sve studente koji nisu polagali ni jedan ispit DELETE FROM dosije WHERE indeks NOT IN (SELECT DISTINCT i.indeks FROM ispit i); -- UPDATE --UPDATE tabela --SET sta menjamo --WHERE podskup nad kojim radimi -- 6. predmetu Uvod u filozofiju postaviti espb na 20 SELECT * FROM predmet WHERE naziv='Uvod u filozofiju'; UPDATE predmet SET espb=20 WHERE naziv='Uvod u filozofiju'; -- 7. Studentu Luki Blagicu promeniti mesto rodjenja na nepoznato a godinu upisa na 2011. SELECT * FROM dosije WHERE ime = 'Luka' AND prezime = 'Blagic'; UPDATE dosije SET mestorodjenja=NULL, datupisa=datupisa + (2011 - YEAR(datupisa)) YEARS WHERE ime = 'Luka' AND prezime = 'Blagic'; -- 8. duplirati broj bodova svim predmetima - nece moci -- povecati za 5 UPDATE predmet SET espb=espb*2; UPDATE predmet SET espb = espb + 5; SELECT espb FROM predmet; UPDATE predmet SET espb = espb - 5; --9 sve padove programiranja 1 prebaciti na polaganja sa ocenom 6 -- UPDATE ispit SET ocena=6 WHERE idpredmeta IN (SELECT id FROM predmet WHERE naziv='Programiranje 1') AND ocena = 5 AND status = 'o'; --ZA sva polaganja ispita u roku okkt2 2015 promenimo datum polaganja na datum poslednjeg --polaganog ispit i ocenu na 10 UPDATE ispit SET (datpolaganja, ocena) = (SELECT MAX(datpolaganja), 10 FROM ispit) WHERE skgodina=2015 AND oznakaroka='okt2'; SELECT * FROM ispit WHERE skgodina = 2015 AND oznakaroka='okt2'; -- 6 Promenimo broj indeksa studenta sa indeksom 20140055 u 20140056 -- moramo prvo srediti sve reference sto mozemo uraditi tako sto -- unesemo kopiju informacija za "novog" studenta i nakon toga obrisemo -- za starog studenta -- u praksi ovakav posao realizujemo preko okidaca(triggera) INSERT INTO dosije SELECT 20140056, idprograma, ime, prezime, pol, mestorodjenja, idstatusa, datupisa, datdiplomiranja FROM dosije WHERE indeks=20140055; INSERT INTO upisankurs SELECT 20140056, ... FROM upisankurs WHERE indeks=20140055; UPDATE ispit ... SELECT * FROM dosije; UPDATE dosije SET indeks=20140056 WHERE indeks=20140055; UPDATE upisankurs SET indeks=20140056 WHERE indeks=20140055;