Bài Tập Lớn Qu N Lí Sinh Viên

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

QUN L SINH VIN

/*=====================Create DataBase======================*/ use master go if exists(select name from sysdatabases where name='QuanLyDiemSV') drop Database QuanLyDiemSV go Create Database QuanLyDiemSV go use QuanLyDiemSV go

/*=============DANH MUC KHOA==============*/ Create table DMKhoa ( MaKhoa char(2) primary key, TenKhoa nvarchar(30)not null, ) /*==============DANH MUC SINH VIEN============*/ Create table DMSV ( MaSV char(3) not null primary key, HoSV nvarchar(15) not null, TenSV nvarchar(7)not null, Phai nchar(7), NgaySinh datetime not null, NoiSinh nvarchar (20), MaKhoa char(2), HocBong float, )

/*===================MON HOC========================*/ create table DMMH ( MaMH char (2) not null, TenMH nvarchar (25)not null, SoTiet tinyint Constraint DMMH_MaMH_pk primary key(MaMH) )

/*=====================KET QUA===================*/ Create table KetQua ( MaSV char(3) not null, MaMH char (2)not null , LanThi tinyint, Diem decimal(4,2), Constraint KetQua_MaSV_MaMH_LanThi_pk primary key (MaSV,MaMH,LanThi) ) /*==========================TAO KHOA NGOAI==============================*/ Alter table dmsv add Constraint DMKhoa_MaKhoa_fk foreign key (MaKhoa) References DMKhoa (MaKhoa) Alter table KetQua add constraint KetQua_MaSV_fk foreign key (MaSV) references DMSV (MaSV), constraint DMMH_MaMH_fk foreign key (MaMH) references DMMH (MaMH)

/*==================NHAP DU LIEU====================*/ /*==============NHAP DU LIEU DMMH=============*/ Insert into DMMH(MaMH,TenMH,SoTiet) values('01',N'C S D Liu',45) Insert into DMMH(MaMH,TenMH,SoTiet) values('02',N'Tr Tu Nhn To',45) Insert into DMMH(MaMH,TenMH,SoTiet) values('03',N'Truyn Tin',45) Insert into DMMH(MaMH,TenMH,SoTiet) values('04',N' Ha',60) Insert into DMMH(MaMH,TenMH,SoTiet) values('05',N'Vn Phm',60) /*==============NHAP DU LIEU DMKHOA=============*/ Insert into DMKhoa(MaKhoa,TenKhoa) values('AV',N'Anh Vn') Insert into DMKhoa(MaKhoa,TenKhoa) values('TH',N'Tin Hc') Insert into DMKhoa(MaKhoa,TenKhoa) values('TR',N'Trit') Insert into DMKhoa(MaKhoa,TenKhoa) values('VL',N'Vt L')

/*==============NHAP DU LIEU DMSV=============*/

SET DATEFORMAT DMY GO Insert into DMSV values('A01',N'Nguyn Th',N'Hi',N'N','23/02/1990',N'H Ni','TH',130000) Insert into DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong)

values('A02',N'Trn Vn',N'Chnh',N'Nam','24/12/1992',N'Bnh nh','VL',150000) Insert into DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('A03',N'L Thu Bch',N'Yn',N'N','21/02/1990',N'TP H Ch Minh','TH',170000) Insert into DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('A04',N'Trn Anh',N'Tun',N'Nam','20/12/1990',N'H Ni','AV',80000) Insert into DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('B01',N'Trn Thanh',N'Mai',N'N','12/08/1991',N'Hi Phng','TR',0) Insert into DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('B02',N'Trn Th Thu',N'Thy',N'N','02/01/1991',N'TP H Ch Minh','AV',0) /*==============NHAP DU LIEU BANG KET QUA=============*/ Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A01','01',1,3) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A01','01',2,6) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A01','02',2,6) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A01','03',1,5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A02','01',1,4.5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A02','01',2,7) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A02','03',1,10) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A02','05',1,9) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A03','01',1,2) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A03','01',2,5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A03','03',1,2.5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A03','03',2,4) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('A04','05',2,10) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('B01','01',1,7) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('B01','03',1,2.5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('B01','03',2,5) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('B02','02',1,6) Insert into KetQua(MaSV,MaMH,LanThi,Diem) values('B02','04',1,10)

/*===============CAP NHAT THONG TIN=================*/

--cu 2-update dmmh set sotiet=45 where mamh='05' --cu 3,4--update dmsv set tensv=N'K',phai ='Nam' where masv='b01' -------cu 5----update dmsv set ngaysinh='05/07/1990' where masv='b02' ----------cu 6---------update dmsv set hocbong=hocbong+100000 where makhoa='Av' -------cu 7---------delete from ketqua where lanthi=2 and diem<5 -------cu 8----------delete from dmsv --where hocbong=0 --khng c v c rng buc kha ngoi ---B.Truy vn nhng cu n gin --9. Lit k danh sch sinh vin, gm cc thng tin sau: M sinh vin, H sinh vin, Tn --sinh vin, Hc bng. Danh sch s c sp xp theo th t M sinh vin tng dn. select masv as 'M sinh vin',hosv as 'H sinh vin',tensv as 'Tn sinh vin',hocbong as 'Hc Bng' from dmsv order by masv asc --10. Danh sch cc sinh vin gm thng tin sau: M sinh vin, h tn sinh vin, Phi, Ngy --sinh. Danh sch s c sp xp theo th t Nam/N. select masv as 'M sinh vin',hosv+' '+tensv as 'h tn sinh vin',phai as 'Phi',ngaysinh as 'Ngy sinh' from dmsv order by phai asc --11. Thng tin cc sinh vin gm: H tn sinh vin, Ngy sinh, Hc bng. Thng tin s --c sp xp theo th t Ngy sinh tng dn v Hc bng gim dn. select hosv+' '+tensv as 'h tn sinh vin',ngaysinh as 'Ngy sinh',hocbong as 'Hc bng' from dmsv order by ngaysinh asc,hocbong desc --12. Danh sch cc mn hc c tn bt u bng ch T, gm cc thng tin: M mn, Tn --mn, S tit. select mamh as 'M mn hc',tenmh as 'Tn mn hc',sotiet as 's tit' from dmmh where tenmh like 't%'

--13. Lit k danh sch nhng sinh vin c ch ci cui cng trong tn l I, gm cc thng --tin: H tn sinh vin, Ngy sinh, Phi. select hosv+' '+tensv as 'H tn sinh vin',ngaysinh as 'Ngy sinh',phai as 'Phi' from dmsv where tensv like '%i' --14. Danh sch nhng khoa c k t th hai ca tn khoa c cha ch N, gm cc thng tin: --M khoa, Tn khoa. select makhoa as 'M khoa',tenkhoa as 'tn khoa' from dmkhoa where tenkhoa like '_n%' --15. Lit k nhng sinh vin m h c cha ch Th. select * from dmsv where hosv like N'%th%' --16. Cho bit danh sch nhng sinh vin c k t u tin ca tn nm trong khong t a --n m, gm cc thng tin: M sinh vin, H tn sinh vin, Phi, Hc bng. Select MaSV As N'M Sinh Vin',HoSV+' '+TenSV As N'H Tn Sinh Vin',Phai As N'Phi',HocBong As N'Hc Bng' from dmsv where tensv between 'a' and 'm'

--17. Cho bit danh sch nhng sinh vin m tn c cha k t nm trong khong t a n --m, gm cc thng tin: H tn sinh vin, Ngy sinh, Ni sinh, Hc bng. Danh sch --c sp xp tng dn theo h tn sinh vin. Select MaSV As N'M Sinh Vin',HoSV+' '+TenSV As N'H Tn Sinh Vin',Phai As N'Phi',HocBong As N'Hc Bng' From DMSV Where TenSV like '%[a-m]%' Order by HoSV+' '+TenSV ASC --18. Cho bit danh sch thng tin: M --sinh vin, H tn sinh theo th t --M khoa gim dn. Select MaSV As N'M Sinh As N'M Khoa',HocBong As from dmsv where hocbong>100000 order by makhoa desc cc sinh vin c hc bng ln hn 100,000, gm cc vin, M khoa, Hc bng. Danh sch s c sp xp Vin',HoSV+' '+TenSV As N'H Tn Sinh Vin',MaKhoa N'Hc Bng'

--19. Lit k cc sinh vin c hc bng t 150,000 tr ln v sinh H Ni, gm cc thng --tin: H tn sinh vin, M khoa, Ni sinh, Hc bng. Select HoSV+' '+TenSV As N'H Tn Sinh Vin',MaKhoa As N'M Khoa',NoiSinh As N'Ni Sinh',HocBong As N'Hc Bng'

From DMSV Where HocBong>=150000 and NoiSinh=N'H Ni' --20. Danh sch cc sinh vin ca khoa Anh vn v khoa Vt l, gm cc thng tin: M sinh --vin, M khoa, Phi. Select MaSV As N'M Sinh Vin',MaKhoa As N'M Khoa',Phai As N'Phi' From DMSV Where MaKhoa='AV' or MaKhoa='VL' --21. Cho bit nhng sinh vin c ngy sinh t ngy 01/01/1991 n ngy 05/06/1992 gm --cc thng tin: M sinh vin, Ngy sinh, Ni sinh, Hc bng. Select MaSV As N'M Sinh Vin' ,NgaySinh As N'Ngy Sinh',NoiSinh As N'Ni Sinh',HocBong As N'Hc Bng' From DMSV Where NgaySinh>='01/01/1991' and NgaySinh<='05/06/1992' --22. Danh sch nhng sinh vin c hc bng t 80.000 n 150.000, gm cc thng tin: M --sinh vin, Ngy sinh, Phi, M khoa. Select MaSV As N'M Sinh Vin',NgaySinh As N'Ngy Sinh',Phai As N'Phi',MaKhoa As N'M Khoa' From DMSV Where HocBong>=80000 and HocBong<=150000 --23. Cho bit nhng mn hc c s tit ln hn 30 v nh hn 45, gm cc thng tin: M --mn hc, Tn mn hc, S tit. Select MaMH As N'M Mn Hc',TenMH As N'Tn Mn Hc',SoTiet As N'S Tit' From DMMH Where SoTiet>30 and SoTiet<45 --24. Lit k nhng sinh vin nam ca khoa Anh vn v khoa tin hc, gm cc thng tin: M --sinh vin, H tn sinh vin, tn khoa, Phi. select masv 'M sinh vin','H tn sinh vin'=hosv+' '+tensv,tenkhoa 'Tn khoa',phai 'Phi' from dmsv sv,dmkhoa khoa where sv.makhoa=khoa.makhoa --25. Lit k nhng sinh vin n, tn c cha ch N-select * from dmsv where phai=N'n' and tensv like N'%n%' --C. Truy vn s dng hm: year, month, day, getdate, case, . --26. Danh sch sinh vin c ni sinh H Ni v sinh vo thng 02, gm cc thng tin: H --sinh vin, Tn sinh vin, Ni sinh, Ngy sinh. select hosv 'H sinh vin',tensv 'Tn sinh vin',noisinh 'Ni sinh',ngaysinh 'ngy sinh' from dmsv where noisinh=N'H ni' and month(ngaysinh)=2 --27. Cho bit nhng sinh vin c tui ln hn 20, thng tin gm: H tn sinh vin, Tui,Hc bng. select hosv+' '+tensv 'Tn sinh vin','Tui'=year(getdate())year(ngaysinh),hocbong 'Hc bng' from dmsv

where year(getdate())-year(ngaysinh)>20 --28. Danh sch nhng sinh vin c tui t 20 n 25, thng tin gm: H tn sinh vin, Tui, --Tn khoa. select hosv+' '+tensv 'Tn sinh vin','Tui'=year(getdate())year(ngaysinh),tenkhoa 'Tn khoa' from dmsv sv,dmkhoa khoa where sv.makhoa=khoa.makhoa and (year(getdate())-year(ngaysinh)between 20 and 25) --29. Danh sch sinh vin sinh vo ma xun nm 1990, gm cc thng tin: H tn sinh vin, --Phi, Ngy sinh. select hosv+' '+tensv 'Tn sinh vin',phai 'Phi',ngaysinh 'Ngy sinh' from dmsv where year(ngaysinh)=1990 and (month (ngaysinh)in(1,2,3)) --between 1 and 3) --30. Cho bit thng tin v mc hc bng ca cc sinh vin, gm: M sinh vin, Phi, M --khoa, Mc hc bng. Trong , mc hc bng s hin th l Hc bng cao nu gi tr --ca field hc bng ln hn 500,000 v ngc li hin th l Mc trung bnh select masv'M sinh vin',phai'Phi',makhoa 'M khoa','Mc trung bnh'=case when hocbong>500000 then N'Hc bng cao' else N' Mc trung bnh' end from dmsv --D. Truy vn s dng hm kt hp: max, min, count, sum, avg v gom --nhm --32. Cho bit tng s sinh vin ca ton trng select 'Tng sinh vin ton trng'=count(masv) from dmsv --33. Cho bit tng sinh vin v tng sinh vin n. --y l cch vit gp trong bng select 'Tng sinh vin'=count(masv),'Tng sinh vin n'=sum(case phai when N'n'then 1 else 0 end) from dmsv -----------select 'Tng sinh vin'=count(masv),t.nu 'Tng sinh vin n' from dmsv, ( select count(masv) as 'nu' from dmsv where phai=N'N' ) as t group by t.nu

--34. Cho bit tng s sinh vin ca tng khoa. select makhoa 'M khoa','M sinh vin'=count(masv) from dmsv group by makhoa --35. Cho bit s lng sinh vin hc tng mn. select tenmh'Tn mn hc',count(distinct masv)'M sinh vin' from ketqua kq,dmmh mh where kq.mamh=mh.mamh group by tenmh

--36. Cho bit s lng mn hc m sinh vin hc(tc tng s mn hc c torng bng kq) select count(distinct mamh)'Tng s mn hc' from ketqua --37. Cho bit tng s hc bng ca mi khoa. select makhoa 'M khoa',sum(hocbong)'Tng hc bng' from dmsv group by makhoa --38. Cho bit hc bng cao nht ca mi khoa. select makhoa 'M khoa',max(hocbong)'Hc bng cao nht' from dmsv group by makhoa --39. Cho bit tng s sinh vin nam v tng s sinh vin n ca mi khoa. select makhoa,'Tng sinh vin nam'=sum(case phai when N'nam'then 1 else 0 end),'Tng sinh vin n'=sum(case phai when N'n'then 1 else 0 end) from dmsv group by makhoa --40. Cho bit s lng sinh vin theo tng tui. select year(getdate())-year(ngaysinh) 'Tui',count(masv) 'S sinh vin' from dmsv group by year(getdate())-year(ngaysinh) --41. Cho bit nhng nm sinh no c 2 sinh vin ang theo hc ti trng. select year(ngaysinh)'Nm',count(Masv)'S sinh vin' from dmsv group by year(ngaysinh) having count(Masv)=2 --42. Cho bit nhng ni no c hn 2 sinh vin ang theo hc ti trng. select NoiSinh, count(Masv)'S sinh vin' from dmsv group by NoiSinh having count(Masv)>=2 --43. Cho bit nhng mn no c trn 3 sinh vin d thi. select mamh 'M mn hc',count(masv)'S Sinh vin' from ketqua group by mamh having count(masv)>3 --44. Cho bit nhng sinh vin thi li trn 2 ln. select masv,mamh,count(lanthi)'so lan thi lai' from ketqua group by masv,mamh having count(lanthi)>2 --45. Cho bit nhng sinh vin nam c im trung bnh ln 1 trn 7.0 select Hosv+' '+tensv 'H tn sinh vin',phai,lanthi,avg(Diem)'diem trung binh' from ketqua kq,dmsv sv where kq.masv=sv.masv and lanthi=1 and phai=N'nam' group by lanthi,phai, Hosv+' '+tensv having avg(Diem)>7.0 --46. Cho bit danh sch cc sinh vin rt trn 2 mn ln thi 1.

select masv 'M sinh vin',count(mamh)'S mn rt' from ketqua where lanthi=1 and diem<5 group by masv having count(mamh)>=2 --47. Cho bit danh sch nhng khoa c nhiu hn 2 sinh vin nam select makhoa 'M khoa','S sinh vin nam'=count(masv) from dmsv where phai=N'Nam' group by makhoa having count(masv)>=2 --48. Cho bit nhng khoa c 2 sinh t hc bng t 200.000 n 300.000. select makhoa 'M khoa','S sinh vin'=count(masv) from dmsv where hocbong between 200000 and 300000 group by makhoa having count(masv)>2 --49. Cho bit s lng sinh vin u v s lng sinh vin rt ca tng mn trong ln thi 1. --lm tng bng select tenmh,'S sinh vin u'=count(masv) from ketqua kq,dmmh mh where kq.mamh=mh.mamh and lanthi=1 and diem>=5 group by tenmh select tenmh,'S sinh vin Rt'=count(masv) from ketqua kq,dmmh mh where kq.mamh=mh.mamh and lanthi=1 and diem<5 group by tenmh --Lm gp select tenmh 'Tn mn hc','S sinh vin u'=sum(case when diem>=5 then 1 else 0 end ),'S sinh vin Rt'=sum(case when diem<5 then 1 else 0 end ) from ketqua kq,dmmh mh where kq.mamh=mh.mamh and lanthi=1 group by tenmh --50. Cho bit s lng sinh vin nam v s lng sinh vin n ca tng khoa. --trng li cu 39 select makhoa,'Tng sinh vin nam'=sum(case phai when N'nam'then 1 else 0 end),'Tng sinh vin n'=sum(case phai when N'n'then 1 else 0 end) from dmsv group by makhoa -------F. Truy vn con tr v mt gi tr --51. Cho bit sinh vin no c hc bng cao nht. select hosv+' '+tensv 'H tn sinh vin',hocbong from dmsv where hocbong=(select max(hocbong) from dmsv) --52. Cho bit sinh vin no c im thi ln 1 mn c s d liu cao nht. select hosv+' '+tensv 'H tn sinh vin',tenmh 'Tn mn hc',lanthi,diem from ketqua kq,dmmh mh,dmsv sv where sv.masv=kq.masv and kq.mamh=mh.mamh and lanthi=1 and tenmh=N'c s d liu'

and diem= ( select max(diem) from ketqua kq,dmmh mh where kq.mamh=mh.mamh and tenmh=N'c s d liu' and lanthi=1 ) --53. Cho bit sinh vin khoa anh vn c tui ln nht. select hosv+' '+tensv 'H tn sinh vin',ngaysinh 'Ngy sinh',makhoa 'M khoa' from dmsv where /*makhoa='av' and*/ ngaysinh=( select min(ngaysinh) from dmsv where makhoa='av' ) --or select hosv+' '+tensv 'H tn sinh vin',ngaysinh 'Ngy sinh',makhoa 'M khoa' from dmsv where (getdate()-ngaysinh)= ( select max(getdate()-ngaysinh) from dmsv where makhoa='av' ) --54. Cho bit khoa no c ng sinh vin nht. --cach 1: select tenkhoa from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa group by tenkhoa having count(tenkhoa)>=all(select count(masv) from dmsv group by makhoa) --cach 2: select tenkhoa from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa group by tenkhoa having count(tenkhoa)= (select max(t.tong) from ( select count(masv) from dmsv group by makhoa ) as t ) --55. Cho bit khoa no c ng n nht. select tenkhoa 'Tn khoa' from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa and phai=N'n'

as tong

group by tenkhoa having count(tenkhoa)>=all(select count(masv) from dmsv where phai=N'n' group by makhoa) --56. Cho bit mn no c nhiu sinh vin rt ln 1 nhiu nht. select mamh from ketqua where lanthi=1 and diem<5 group by mamh having count(diem)>=all (select count(diem) from ketqua where lanthi=1 and diem<5 group by mamh) --57. Cho bit sinh vin khng hc khoa anh vn c im thi mn phm ln hn im thi vn --phm ca sinh vin hc khoa anh vn. select distinct kq.masv from ketqua kq, dmsv sv where sv.masv=kq.masv and mamh='05' and makhoa not like 'av' and diem>( select diem from ketqua kq, dmsv sv where sv.masv=kq.masv and mamh='05' and makhoa='av' ) --G. Truy vn con tr v nhiu gi tr, s dng lng t all, any, union, top. --58. Cho bit sinh vin c ni sinh cng vi Hi. select masv,hosv+' '+tensv from dmsv where noisinh=( select noisinh from dmsv where tensv=N'hi') --59. Cho bit nhng sinh vin no c hc bng ln hn tt c hc bng ca sinh vin thuc khoa anh vn select masv from dmsv where hocbong>=all (select hocbong from dmsv where makhoa='av') --60. Cho bit nhng sinh vin c hc bng ln hn bt k hc bng ca sinh vin hc kha anh vn select masv,hocbong from dmsv where hocbong>=any (select hocbong from dmsv where makhoa='av') --61. Cho bit sinh vin no c im thi mn c s d liu ln 2 ln hn tt c im thi ln 1 --mn c s d liu ca nhng sinh vin khc. select masv from ketqua where mamh='01' and lanthi=2 and diem>=all(select diem from ketqua where mamh='01' and lanthi=1) --62. Cho bit nhng sinh vin t im cao nht trong tng mn. select masv,ketqua.mamh,diem from ketqua, (select mamh, max(diem) as maxdiem

from ketqua group by mamh)a where ketqua.mamh=a.mamh and diem=a.maxdiem --63. Cho bit nhng khoa khng c sinh vin hc. select * from dmkhoa where not exists (select distinct makhoa from ketqua,dmsv where ketqua.masv=dmsv.masv and makhoa=dmkhoa.makhoa) --64. Cho bit sinh vin cha thi mn c s d liu. select * from dmsv where not exists (select distinct* from ketqua where mamh = '01' and masv=dmsv.masv) --65. Cho bit sinh vin no khng thi ln 1 m c d thi ln 2. select masv from ketqua kq where lanthi=2 and not exists (select * from ketqua where lanthi=1 and masv=kq.masv) --66. Cho bit mn no khng c sinh vin khoa anh vn hc. select tenmh from dmmh where not exists (select mamh from ketqua kq,dmsv sv where sv.masv=kq.masv and sv.makhoa='av' and dmmh.mamh=mamh) --67. Cho bit nhng sinh vin khoa anh vn cha hc mn vn phm. Select MaSV From DMSv dmsv Where MaKhoa='AV' And Not Exists (Select * From KetQua Where MaMH='05' And MaSV=dmsv.MaSV )

--68. Cho bit nhng sinh vin khng rt mn no. Select MaSV From DMSV dmsv Where Not Exists (Select * From KetQua Where Diem<=5 And MaSV=dmsv.MaSV )

--69. Cho bit nhng sinh vin hc khoa anh vn c hc bng v nhng sinh vin cha bao --gi rt.

Select MaSV,MaKhoa,HocBong From DMSv dmsv Where MaKhoa='AV' And HocBong>0 And Not Exists (Select * From KetQua Where Diem<5 And MaSV=dmsv.MaSV

--70. Cho bit khoa no c ng sinh vin nhn hc bng nht v khoa no khoa no c t --sinh vin nhn hc bng nht. Select MaKhoa,count(MaSV)'So Luong SV' From DMSV Where HocBong>0 Group By MaKhoa Having count(MaSV)>=All (Select count(MaSV) From DMSv where hocbong>0 Group By MaKhoa ) UNION Select MaKhoa,count(MaSV)'So Luong SV' From DMSV Where HocBong>0 Group By MaKhoa Having count(MaSV)<=All (Select count(MaSV) From DMSV where hocbong>0 Group By MaKhoa )

--71. Cho bit 3 sinh vin c hc nhiu mn nht. Select top 3 MaSV,Count(Distinct MaMH)'S mn hc' From KetQua Group By MaSV Having Count(Distinct MaMH)>=All(Select count( distinct MaMH) From KetQua Group By MaSV )

/*==========================H. Truy vn dng php chia =========================*/ --72. Cho bit nhng mn c tt c cc sinh vin theo hc. Select MaMH From KetQua Group By MaMH Having count(distinct MaSV)=(Select count(MaSV) From DMSv

--73. Cho bit nhng sinh vin hc nhng mn ging sinh vin c m s A02 hc. Select distinct MaSV From KetQua kq Where Exists(Select distinct MaMH From KetQua Where MaSV='A02' and MaMH=kq.MaMH )

--74.Cho bit nhng sinh vin hc nhng mn bng ng nhng mn m sinh vin A02 hc. Select TenSV From KetQua kq,DMSv dmsv,(Select MaSV,MaMH,count(distinct MaMH)SoMon From KetQua Where MaSV='A02' Group By MaSV,MaMH)a Where kq.MaSV=dmsv.MaSV and kq.MaMH=a.MaMH and kq.MaSV <>a .MaSV Group By TenSV Having count(distinct kq.MaMH)=(Select count(distinct MaMH) From KetQua Where MaSV='A02')

Select dmsv.MaSV From KetQua kq, DMSv dmsv Where kq.MaSV=dmsv.MaSV and MaMH=(Select distinct MaMH From KetQua Where MaSV='A02' and MaMH=kq.MaMH) and dmsv.MaSV Not Like 'A02' Group By dmsv.MaSV Having count(distinct MaMH)=(Select count(distinct MaMH) From KetQua Where MaSV='A02')

--75. To mt bng mi tn sinhvien-ketqua: gm: MASV, HoSV, TenSV, SoMonHoc. Sau -- Thm d liu vo bng ny da vo d liu c. Create Table SinhVien_KetQua ( MaSV char(3) not null, HoSV nvarchar(15) not null,

TenSV nvarchar(7)not null, SoMonHoc tinyint ) Insert Into SinhVien_KetQua Select dmsv.MaSV,HoSV,TenSV,count(distinct MaMH) From DMSV dmsv,KetQua kq Where dmsv.MaSV=kq.MaSV Group By dmsv.MaSV,HoSV,TenSV

--76. Thm vo bng khoa ct Siso, cp nht s s vo khoa t d liu sinh vin. go alter table dmkhoa add siso tinyint go update dmkhoa set siso=(select count(masv) from dmsv where makhoa='av' group by(makhoa)) where makhoa='av' update dmkhoa set siso=(select count(masv) from dmsv where makhoa='TH' group by(makhoa)) where makhoa='Th' update dmkhoa set siso=(select count(masv) from dmsv where makhoa='Tr' group by(makhoa)) where makhoa='Tr' update dmkhoa set siso=(select count(masv) from dmsv where makhoa='vl' group by(makhoa)) where makhoa='vl' --77. Tng thm 1 im cho cc sinh vin vt ln 2. Nhng ch tng ti a l 5 im update ketqua set diem=diem+1 where lanthi=2 and diem+1<=5 select * from ketqua --78. Tng hc bng ln 100000 cho nhng sinh vin c im trung bnh l 6.5 tr ln update dmsv

set hocbong=hocbong+100000 where masv in (select masv from ketqua group by masv having avg(diem)>=6.5) --79. Thit lp hc bng bng 0 cho nhng sinh vin thi hai mn rt ln 1 update dmsv set hocbong=0 where masv in (select masv from ketqua where lanthi=1 and diem<5 group by masv having count(mamh)=2 ) --80. Xo tt c nhng sinh vin cha d thi mn no. delete from dmsv where not exists (select masv from ketqua where masv=dmsv.masv ) --81. Xa nhng mn m khng c sinh vin hc. delete from dmmh where not exists(select mamh from ketqua where mamh=dmmh.mamh ) -- To view --82. Danh sch sinh vin khng bi rt mn no create view cau82 as select dmsv.masv,hosv,tensv,phai,ngaysinh,noisinh,hocbong from dmsv,ketqua where dmsv.masv=ketqua.masv group by dmsv.masv,hosv,tensv,phai,ngaysinh,noisinh,hocbong having min(diem)>=5

--83. Danh sch sinh vin hc mn vn phm v mn c s d liu create view cau83 as select * from dmsv where masv in (select distinct ketqua.masv from ketqua,dmsv where dmsv.masv=ketqua.masv and (mamh='01' or mamh='05') ) drop view cau83 --84. Trong mi sinh vin cho bit mn c im gm: m sinh vin, --tn sinh vin, tn mn, im. thi ln nht. Thng tin

create view cau84 as select distinct dmsv.masv,tensv,tenmh,max(diem)diem from dmsv,ketqua,dmmh where dmsv.masv=ketqua.masv and dmmh.mamh=ketqua.mamh group by dmsv.masv,tensv,tenmh select * from cau84 --85. Danh sch sinh vin: Khng rt ln 1 hoc ,Khng hc mn vn phm create view cau85 as select * from dmsv where masv in (select masv from ketqua where (lanthi=1 and diem <5) or not exists (Select * From KetQua Where MaMH='05' And MaSV=ketqua.MaSV )) --86. Danh sch nhng sinh vin khoa c 2 sinh vin n tr ln create view cau86 as select * from dmsv where makhoa= (select sv.makhoa from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa and phai=N'n' group by sv.makhoa having count(tenkhoa)>=all(select count(masv) from dmsv where phai=N'n' group by makhoa))

/*===============HT================*/

You might also like