You are on page 1of 9

Пројекција селекција

1. Издвојити предмете чији је фонд часова 4. Приказати податке хронолошки у редоследу учења.
select fond, naziv as "predmeti", razredfrom PREDMETI
where fond=4
order by razred ASC
2. Приказати 10 оцена за предмет историја које су прве уписане.
select ocena, datum
from ocene
where idPredmeta in (select id
from PREDMETI
where naziv="Историја")
order by datum
limit 10
ili
select ocena, datum
from ocene join predmeti
on (ocene.idPredmeta=Predmeti.id)
where naziv ="Историја"
order by datum
limit 10
3. Приказати 3 ученика која се налазе на крају списка у одељењу 4/1.

select prezime,ime,id

from UCENICI

where odeljenje=1 and razred=4

order by prezime,ime DESC

limit 3

4. Приказати списак ученика чија презимена почињу словом „Р“, а имена се не завршавају на „а“.
Сортирати списак према презименима и именима ученика. Приказати разред и одељење.

select ime,prezime,razred,odeljenje

from UCENICI

where prezime like "П%" and ime not like "%а"

order by prezime,ime

5. Приказати све ученике трећег разреда, чија презимена су дужа од 7 слова.


select prezime,ime
from UCENICI
where razred=3 and length(prezime)>7
6. Формирати уређени списак ученика рођених у новембру у облику Ученик, Датум рођења.
Применити вишеструко сортирање у обрнутом редоследу у односу на приказ.

select prezime||" "||ime as "Ученик", datumR as "Датум Рођења"


from UCENICI
where substr(datumR,6,2)="11"
order by datumR, prezime
ili
select prezime||" "||ime as "Ученик", datumR as "Датум Рођења"
from UCENICI
where datumR like"%-11-%"
order by datumR, prezime
7. Одредити старост за сваког ученика у одељењу 3/3 у годинама. Креирати уређени списак по
азбучном редоследу.

select prezime, ime, 2023-CAST(substr(datumR,1,4) as Integer) as Starost

from UCENICI

where razred=3 and odeljenje=3

order by prezime, ime

8. Приказати списак свих ученика рођених у првом кварталу године. Уредити податке хронолошки
према датуму рођења.
select prezime,ime , datumR
from UCENICI
where substr(datumR,6,2) in ("01","02","03")
order by datumR
ili
select prezime,ime , datumR
from UCENICI
where cast(substr(datumR,6,2) as integer) between 1 and 3
order by datumR
9. Ко је добио оцену 5 из математике у 3. разреду? Креирати сортирани списак ученика по датуму
уписа од најновије ка најстаријој оцену и према презименима и именима по азбучном редоследу.
select prezime,ime
from UCENICI join ocene on(ucenici.id=ocene.idUcenika)
where ocena=5 and idPredmeta=(select predmeti.id from predmeti where predmeti.razred =3 and
naziv="Математика")
order by datum DESC

Rad sa podacima

1. PRIKAZATI SVE PODAKE O PREDMETIMA


SELECT*
FROM PREDMETI

2. PRIKAZATI SPISAK PREDMEA U OBLIKU NAZIV, RAZRED CIJI JE FOND CASOVA NAJMANJE 3.
SELECT NAZIV AS "PREDMET", RAZRED AS "RZR", FOND AS"BROJ CASA NEDELJNO"
FROM PREDMETI
WHERE FOND>=3
3. PRIKAZ PREDMETA U OPADAJUCEM REDOSLEDU PREMA BROU CASOVA I PRIKAZA NAZIV
RAZRED I BROJ CASOVA

SELECT NAZIV AS "PREDMET", RAZRED AS "RZR", FOND AS"BROJ CASA NEDELJNO"


FROM PREDMETI
WHERE FOND>=3

4. PROVERI DA LI U 4. RAZREDU POSTOJI PREDMET FILOZOFIJA.


SELECT NAZIV AS "PREDMET", RAZRED AS "RZR", FOND AS"BROJ CASA NEDELJNO"
FROM PREDMETI
WHERE PREDMET = "Филозофија"

5. Dodati predmet filozofija u treci rayred sa fondom casova 1.


INSERT into PREDMETI(naziv, razred, fond)
values("Филозофија",3,1)
провера се врши i select from predmeti ili ruco na kartici podaci tj. Browser

6. Izmena fonda casova za matematiku u 2.razredu na 4 casa


update PREDMETI
set fond = 4
where naziv= "Математика" and razred=2
i
7. ispravi fond casova za matematiku u 2. Razredu na 5 casova.
update PREDMETI
set fond = 5
where id =(select id
from PREDMETI
where naziv ="Математика" and razred = 2)

8.Obrisi ocenu na pism,enom zadatku pod idom 38 koji je radjen 15.og oktobra 2020.
delete from ocene
where id_ucenik=38 and vrsta="писмени задатак" and datum = "2020-10-15"

9.Додати 5 уценика у оделјенје 4/5.

insert into UCENICI(ime,prezime,pol,datum_rodjenja)


values("Danilo","Nikolic","m","11.01.2006"),
("Milenko","Nikolic","m","11.11.2005"),
("Dijana","Nikolic","z","21.01.2006"),
("Helena","Nikolic","z","25.02.2005"),
("Katarina","Simic","z","12.09.2005")

10.Додати ѕа сваког уценика по једну оцену(на усменом, тесту или писменом ѕадатку) иѕ
редом:Биологије,српског,енглеског,физике и хемије.

insert into OCENE(id_ucenik,id_predmet,ocena,datum,vrsta)


values(347,51,5,"2023-10-18","усмени"),
(348,48,4,"2023-10-18","усмени"),
(349,49,2,"2023-10-18","усмени"),
(350,52,1,"2023-10-18","усмени"),
(351,53,5,"2023-10-18","усмени")
-------------------------------------------------------------------------------------------------------------------------------------------

1.zadatak spisak ucenika prvog jedan sortirani po prezimenu.


select prezime, ime
from UCENICI
where odeljenje=1 and razred=1
order by prezime
2.Spisak svih ocena za ucenika ciji je id 100.
select ime, prezime
from ucenici
where ucenici JOIN ocene ON(ucenici.id=ocene.id_ucenik where id=100)

Select
From
Where
Order by
Delete
Inbsert
Update
Substr(k,od,brkoliko)
Length(k) prebrojava broj znakova u nekom redu ili koloni
Abs(nk)
Round(nk,2)

1.zadatak
select id, id_ucenik as "šifra učenika", datum, cas,

case
when status="оправдан" then 1
when status="неоправдан" then 2

when status="нерегулисан" then 0


end as Status

From izostanci
2.zadatak
select razred || "/" || odeljenje as Odeljenje,
count(*)as "Broj izostanaka"
from izostanci i join ucenici u on(i.id_ucenik=u.id)
group by razred, odeljenje
3.
select razred || "/" || odeljenje as Odeljenje,
count(*)as "Broj izostanaka"
from izostanci i join ucenici u on(i.id_ucenik=u.id)
group by razred, odeljenje
having count(*)>=900
4.
select count(*) as "Ukupno"
from izostanci i join ucenici u on(i.id_ucenik=u.id)
where razred=3
group by status
order by count(*) desc
5.
select count(*) as "Uukupno za 3/1"
from izostanci i join ucenici u on(i.id_ucenik=u.id)
where razred=3 and odeljenje=1
group by status
6.
select sum(Ukupno)as "Izostanci za drugi razred" round(avg(Ukupno),2) as"Prosecan broj izostanaka
drugog razreda"
from

(select "2/"|| odeljenje as "Odeljenje" ,


count(*) as Ukupno

from izostanci i join ucenici u on(i.id_ucenik=u.id)


where razred=2
group by odeljenje)

1.
select count(*) as "IZOSTANCI"
from IZOSTANCI
where status="нерегулисан" and substr(datum,6,2) in
("09","10","11","12") and datum like("2021%")
2.
select count(distinct id_ucenik) as "Broj ucenika"
from IZOSTANCI
where status="оправдан"
3.
select razred||"/"||odeljenje as Odeljenje, count(*) as"Ukupan broj izostanaka"
from UCENICI
group by razred, odeljenje
4.
select count(*) as Broj
from ucenici u join OCENE o on(u.id=o.id_ucenik)
where ocena=4 and datum like("2021-12%") and razred=2
5.
select razred, count(*)as brojdev
from UCENICI
where pol="м"
group by razred

select razred, count(*)as brojdec


from UCENICI
where pol="ж"
group by razred
6.
Prikazati razrede koji imaju vise od 48 devojcica
select razred, count(*) as"Broj devojcica"

from ucenici
where pol="ж"
group by razred
having count(*)>48
7.
prikazati odeljenja I ukupan broj decaka u rastucem redosledu u kojiima je broj decaka manji od 50.
select razred||"/"||odeljenje as Odeljenje, count(*) as"Broj decaka"
from ucenici
where pol="м"
group by razred,odeljenje
having count(*)<50
order by count(*)
8.
Za svaki predme prikazati broj petica.
select naziv, count(*)as "Broj petica"
from predmeti p join ocene o on(p.id=o.id_predmet)
where ocena=5
group by naziv
9.
Prikazati imena i prezimena ucenika koji imaju pet Ili vise neopravdanih.
select naziv, count(*)as "Broj petica"
from predmeti p join ocene o on(p.id=o.id_predmet)
where ocena=5
group by naziv
10.
Prikazati prosecnu ocenu zaokruzenu na dve decimale za sve ucenike drugog tri predmet je srpski jezik.
select ocene, round(avg(ocena),2) as prosek
from ucenici u join ocene o on(u.id=o.id_predmet)
join predmeti on(ocene.id_predmet=PREDMETI.id)

where naziv="Српски језик" and razred=2 and odeljenje=3


group by id_ucenik
1.
select count(*) as "IZOSTANCI"
from IZOSTANCI
where status="нерегулисан" and substr(datum,6,2) in
("09","10","11","12") and datum like("2021%")
2.
select count(distinct id_ucenik) as "Broj ucenika"
from IZOSTANCI
where status="оправдан"
3.
select razred||"/"||odeljenje as Odeljenje, count(*) as"Ukupan broj izostanaka"
from UCENICI
group by razred, odeljenje
4.
select count(*) as Broj
from ucenici u join OCENE o on(u.id=o.id_ucenik)
where ocena=4 and datum like("2021-12%") and razred=2
5.
select razred, count(*)as brojdev
from UCENICI
where pol="м"
group by razred

select razred, count(*)as brojdec


from UCENICI
where pol="ж"
group by razred
6.
Prikazati razrede koji imaju vise od 48 devojcica
select razred, count(*) as"Broj devojcica"

from ucenici
where pol="ж"
group by razred
having count(*)>48
7.
prikazati odeljenja I ukupan broj decaka u rastucem redosledu u kojiima je broj decaka manji od 50.
select razred||"/"||odeljenje as Odeljenje, count(*) as"Broj decaka"
from ucenici
where pol="м"
group by razred,odeljenje
having count(*)<50
order by count(*)
8.
Za svaki predme prikazati broj petica.
select naziv, count(*)as "Broj petica"
from predmeti p join ocene o on(p.id=o.id_predmet)
where ocena=5
group by naziv
9.
Prikazati imena i prezimena ucenika koji imaju pet Ili vise neopravdanih.
select naziv, count(*)as "Broj petica"
from predmeti p join ocene o on(p.id=o.id_predmet)
where ocena=5
group by naziv
10.
Prikazati prosecnu ocenu zaokruzenu na dve decimale za sve ucenike drugog tri predmet je srpski jezik.
select ocene, round(avg(ocena),2) as prosek
from ucenici u join ocene o on(u.id=o.id_predmet)
join predmeti on(ocene.id_predmet=PREDMETI.id)

where naziv="Српски језик" and razred=2 and odeljenje=3


group by id_ucenik

1.
select prezime,datum_rodjenja, upper(substr(prezime,1,1))||" "||"A" as "Inicijali"
from UCENICI
where ime="Ана"
order by datum_rodjenja
2.
select razred||"/"||odeljenje as "Odeljenje", count(*)
from UCENICI
group by razred,odeljenje
3.
select razred, count(*)as"Broj ucenika"
from UCENICI
group by razred
4.
select razred, avg(Ukupno) as Prosek
from( select razred, count(*) as Ukupno
from UCENICI
group by razred, odeljenje)
group by razred
ili
select ocena, count(*) as Frekvencija
from ocene
group by ocena
order by Frekvencija desc
limit 1
5.
select razred, count(*) as"Broj ucenika "
from ucenici
where prezime="Петровић"

group by razred
6.
select prezime, count(*) as"Frekvencija"
from UCENICI
group by prezime
order by Frekvencija desc
limit 3
7.
select max(fond) , razred
from( select razred , fond
from PREDMETI )

group by razred
8.
select datum, count(*) as"Broj"
from IZOSTANCI
group by datum
order by Broj DESC
limit 3

You might also like