1. --FUNCTIONS
--Update emrin e babes ne (Elton) atyre studenteve qe
e kane germen e fundit te emrit ='E'
update studentet
set atesia='Elton'
where lower(emer) like '%e'
--Update emrin e babes ne (Llazi) atyre studenteve qe
e kane germen e dyte te emrit ='L'
update studentet set
Atesia = 'Llazi'
where SUBSTRING(emer,2,1)='L'
--Update emrin e babes ne (Shkurti) atyre studenteve
qe kane lindur ne muajin e Shkurtit
update studentet set
Atesia = 'Shkurti'
where month(datelindja) = 2
--Update emrin e babes ne (Verdi) atyre studenteve qe
kane lindur ne diten e Premte te javes.
update Studentet set
atesia = 'Verdi'
where datename(dw,datelindja) = 'Friday'
2. --emer, tre germat e para ne filter dua vetem
studentet me emer me te gjate se 8 germa
select substring(emer,1,3), emer, left(emer,3) from
Studentet
where len(emer)>8
--me jep studentet qe kane germen 'A' ne gjysmen e
pare te emrit
Select emer,Atesia,mbiemer
,
CHARINDEX('E',Substring(emer,1,ceiling(convert(decimal
(16,2),len(emer))/2 )),1) ind
,ceiling(convert(decimal(16,2),len(emer))/2 ) gjysma
from Studentet
where
CHARINDEX('E',Substring(emer,1,ceiling(convert(decimal
(16,2),len(emer))/2 )),1) >0
3. --GROUP BY dhe HAVING clause
--Sa studente ka per cdo komune
----shfaqni vetem ate komune qe ka me shume se 100
studente
Select count(*)
Nr_Stud,k.Komuna_Emertimi,r.Rrethi_Emertimi
from studentet s
left join Komunat k on
k.Komuna_ID=s.Vendlindja_Komuna_ID
left join rrethet r on r.Rrethi_ID=k.Rrethi_ID
where k.komuna_emertimi = 'Pojan'
group by k.Komuna_Emertimi,r.Rrethi_Emertimi
having count(*) >100
Select k1.*,r.*,k2.*,r2.*
from Komunat k1
inner join komunat k2 on
k2.Komuna_Emertimi=k1.Komuna_Emertimi
4. inner join Rrethet r on r.Rrethi_ID = k1.Rrethi_ID
inner join Rrethet r2 on r2.Rrethi_ID= k2.Rrethi_ID
where k2.Komuna_ID != k1.Komuna_ID
--Sa student ka per cdo qark
Select count(*) nr_Stud,q.Qarku_Emertimi --
,k.Komuna_Emertimi,r.Rrethi_Emertimi
from studentet s
left join Komunat k on
k.Komuna_ID=s.Vendlindja_Komuna_ID
left join Rrethet r on r.Rrethi_ID=k.Rrethi_ID
left join Qarqet q on q.Qarku_ID=r.Qarku_ID
group by q.Qarku_Emertimi --
k.Komuna_Emertimi,r.Rrethi_Emertimi
--SUBSELECT - Rreshtoni studentet sipas kursit (viti)
Select max(r.kursi) as kursi,
s.Emer,s.Mbiemer,r.Student_ID
from Regjistrimet r
inner join Studentet s on s.Student_ID=r.Student_ID
group by r.Student_ID, s.Emer,s.Mbiemer
order by kursi,s.Emer,s.Mbiemer
5. -------------
Select s.Emer,s.Mbiemer,r1.kursi
from Studentet s
inner join (
Select distinct r.Student_ID, max(r.kursi) as kursi
from Regjistrimet r
group by r.Student_ID) r1 on
r1.Student_ID=s.Student_ID
order by kursi,s.Emer,s.Mbiemer
------------------------------------------------------
--
--Rreshtoni studentet sipas programit studimit
Select s.Emer,s.Mbiemer,r.kursi,r.PS_ID,ps.PS_Emertimi
from Studentet s
inner join (
Select r.Student_ID,r.ps_id, max(r.kursi) as kursi
from Regjistrimet r
group by r.Student_ID,r.ps_id)r on
r.Student_ID=s.Student_ID
inner join Programe_Studimi ps on ps.PS_ID=r.PS_ID
--SUBSELECT - Me jepni sa studente jane per secilin
kurs (vit)
6. select Count(student_ID) nr_stud_per_kurs , kursi
from (Select r.Student_ID, max(r.kursi) as kursi
from Regjistrimet r
group by r.Student_ID) r
group by kursi
order by kursi
--mbasi te keni mbaruar query vendosni cdo gje ne
group by te shohim sa
------studenta kane te gjitha kurset
Select count(student_ID) as nr_Stud , kursi
from (Select distinct r.Student_ID, max(r.kursi) as
kursi
from Regjistrimet r
group by r.Student_ID)t
group by kursi
order by kursi
--Me jepni sa student jane per secilin program studimi
----Shfaqni te gjithe studentet te radhitur sipas
program studimi dhe
7. ----sapo te mbaroi nje program studimi vendosni
totalin |TOTAL|459|
----Shfaqni te gjithe studentet te radhitur sipas
kursit dhe
----sapo te mbaroi nje kurs vendosni totalin
|TOTAL|5713|
--Shfaqni te gjithe funksionet te radhitur sipas
roleve dhe sapo te mbarojne
--funksionet e nje roli dhe te filloje tjetri vendosni
totalin.
--Shfaqni te gjithe studentet qe jane ne kursin e pare
--Update emrin e babes ne "Paresor" studenteve qe jane
ne kurs te pare
--HAVING - Shfaqni te gjithe studentet qe kane bere me
shume se 7 provime
8. --Krijoni planin mesimor per vitin 2016 njesoj si
plani mesimor i vitit 2013
--Insert nje student te ri dhe regjistrojeni sto ne
vit te pare per nje dege qe zgjidhni vete ne vitin
2016.
--Nxirrni te gjithe studentet me mesatare mbi 7 dhe
pastaj me tregoni vendlindjen e ketyre studenteve
--Krijoni nje tabele qe quhet Librezat qe te mbaje
notat e studenteve per cdo lende.
--Insert ne libreze lendet e studentit qe sapo
regjistruat dhe notat lejini bosh.
--Perditesoni librezen per nje student te meparshem qe
ka bere disa provime
--Perditesoni librezen per te gjithe studentet
----