UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as SIFRA_KNJIGE 3. Izdvojiti šifre knjiga i njihove naslove slect K_SIF, NASLOV 4. Izdvojiti sve naslove knjiga koji su romani select NASLOV where oblast='roman' 5. Izdvojiti naslove knjiga koji nisu romani select NASLOV where OBLAST<>'roman' 6. Izdvojiti sve informacije o izdavačima iz Jugoslavije select I_SIF, NAZIV, STATUS, DRZAVA where DRZAVA='Jugoslavija' where DRZAVA='Jugoslavija' 7. Izdvojiti sve informacije o izdavačima koji su iz Jugoslavije i imaju status 30. where DRZAVA='Jugoslavija' and STATUS=30 8. Izdvojiti sve informacije o izdavačima koji imaju status 20 30 where STATUS=20 or STATUS=30
where STATUS in (20, 30 9. Izdvojiti sve informacije o izdavačima čiji status nije ni 20 ni 30 where STATUS not in (20, 30 10. Izdvojiti sve informacije o izdavačima koji imaju status veći od 5 i manji od 25. where STATUS>5 and STATUS<25 where STATUS between 5 and 25 11. Izdvojiti sve informacije o izdavačima čiji status nije između 5 i 25. where STATUS not between 5 and 25 12. Izdvojiti informacije o knjigama čiji naslov počinje slovom A where NASLOV like 'A%' 13. Izdvojiti informacije o knjigama čiji se naslov završava slovom A where NASLOV like '%A' 14. Izdvojiti informacije o knjigama čiji naslov sadrži slovo A where NASLOV like '%A%' 15. Izdvojiti informacije o knjigama čiji je naslov dužine 5
where NASLOV like ' ' 16. Izdvojiti informacije o knjigama sa trocifrenom sifrom where K_SIF like 'k[0 9]{3}' UPITI NAD VIŠE TABELA 1. Odrediti broj vrsta tabele K. select count(* 2. Odrediti broj vrsta tabele KP select count(* P 3. Odrediti broj vrsta tabele nastale spajanjem tabela K i KP select count(*, KP (spajanjem tabela se dobija Dekartov proizvod tabela iz from linije 4. Izdvojiti nalsove knjiga i šifre pisaca koji ih pišu select NASLOV, P_SIF, KP where K.K_SIF=KP.K_SIF 5. Odrediti parove sifara pisaca koji su iz iste države (spajanje tebele sa samom sobom select P1.P_SIF, P2.P_SIF from P P1, P P2 where P1.DRZAVA=P2.DRZAVA and P1.P_SIF<P2.P_SIF 6. Izdvojiti naslove knjiga i imena izdavača koji ih izdaju select NASLOV, NAZIV, I, KI where K.K_SIF=KI.K_SIF and I.I_SIF=KI.K_SIF PODUPITI 1. Naći nazive izdavača koji izdaju knjigu sa sifrom k6 (bez podupita select NAZIV, KI where I.I_SIF=KI.K_SIF and K_SIF='k6'
nekorelisani podupit: select NAZIV where I_SIF in ( select I_SIF I where K_SIF='k6' korelisani podupit: select NAZIV where exists ( I where KI.I_SIF=I.I_SIF and K_SIF='k6' 2. Naći informacije o izdanjima čiji je tiraž manji od svakog tiraža izdanja izdavača sa šifrom i1 I where TIRAZ < all( select TIRAZ I where I_SIF='i1' 3. Naći informacije o izdanjima čiji je tiraž jednak nekom tiražu izdavača sa sifrom i1 I where TIRAZ =some ( select TIRAZ I where I_SIF='i1' I where TIRAZ =any ( select TIRAZ I where I_SIF='i1'
AGREGATNE FUNKCIJE 1. Prikazati šifru knjige sa maksimalnim tiražem i njen tiraž select K_SIF, TIRAZ I KIS where not exists ( I KIU where (KIU.K_SIF<>KIS.K_SIF or KIS.I_SIF<>KIU.I_SIF and KIU.TIRAZ>KIS.TIRAZ select K_SIF, max(tiraz I 2. Prikazati ukupan tiraž knjige sa šifrom k6 select sum(tiraz as UKUPAN_TIRAZ I where K_SIF='k6' 3. Prikazati prosečan status izdavača select avg(status as PROSECNI_STATUS 4. Prikazati za svaku knjigu ukupan tiraž select K_SIF, sum(tiraz I 5. Prikazati za svaku knjigu ukupan tiraž. Rezultat urediti po šifri knjige u rastućem poretku. select K_SIF, sum(tiraz I order by K_SIF asc 6. Prikazati za svaku knjigu ukupan tiraž. Rezultat urediti po tiražu i to u opadajućem poretku. select K_SIF, sum(tiraz I order by 2 desc
select K_SIF, sum(tiraz as UKUPAN_TIRAZ I order by UKUPAN_TIRAZ desc 7. Prikazati informacije o knjigama i njihovimi ukupnim tiražima, i to samo za knjige sa ukupnim tiražem većim od 10 000. select K_SIF, sum(tiraz I having sum(tiraz>10000 select K_SIF, sum(tiraz as UKUPAN_TIRAZ I having UKUPAN_TIRAZ>10000 UNIJA(UNION, PRESEK(INTERSECT, RAZLIKA(EXCEPT UPITA 1. Prikazati šifre svih knjiga koje su romani poezija. select K_SIF where OBLAST='roman' or OBLAST='poezija' ( select K_SIF where OBLAST='roman' UNION ( select K_SIF where OBLAST='poezija'
WITH OPERATOR MySQL ne podržava WITH operator, sledeći primer bi bio korektan SQL upit 1. Izdvojiti informacije o izdavačima sa šifrom koja sadrži cifru 2 i statusom većim od 20 where STATUS>20 and I_SIF like '%2%' with PRIVREMENA_TABELA as ( where I_SIF like '%2%' slect * from PRIVREMENA_TABELA where STATUS>20