CÁC CÂU LỆNH TRONG QUẢN LÝ SINH VIÊN TRÊN SQL

27 8.9K 31
CÁC CÂU LỆNH TRONG QUẢN LÝ SINH VIÊN TRÊN SQL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

QUẢN SINH VIÊN /*=====================Create DataBase======================*/ usemaster go ifexists(selectnamefrom sysdatabases wherename='QuanLyDiemSV') dropDatabase QuanLyDiemSV go CreateDatabase QuanLyDiemSV go use QuanLyDiemSV go /*=============DANH MUC KHOA==============*/ Createtable DMKhoa ( MaKhoa char(2)primarykey, TenKhoa nvarchar(30)notnull, ) /*==============DANH MUC SINH VIEN============*/ Createtable DMSV ( MaSV char(3)notnullprimarykey, HoSV nvarchar(15)notnull, TenSV nvarchar(7)notnull, Phai nchar(7), NgaySinh datetimenotnull, NoiSinh nvarchar(20), MaKhoa char(2), HocBong float, ) /*===================MON HOC========================*/ createtable DMMH ( MaMH char(2)notnull, TenMH nvarchar(25)notnull, SoTiet tinyint Constraint DMMH_MaMH_pk primarykey(MaMH) ) /*=====================KET QUA===================*/ Createtable KetQua ( MaSV char(3)notnull, MaMH char(2)notnull, LanThi tinyint, Diem decimal(4,2), Constraint KetQua_MaSV_MaMH_LanThi_pk primarykey(MaSV,MaMH,LanThi) ) /*==========================TAO KHOA NGOAI==============================*/ Altertable dmsv addConstraint DMKhoa_MaKhoa_fk foreignkey(MaKhoa) References DMKhoa (MaKhoa) Altertable KetQua addconstraint KetQua_MaSV_fk foreignkey(MaSV)references DMSV (MaSV), constraint DMMH_MaMH_fk foreignkey(MaMH)references DMMH (MaMH) /*==================NHAP DU LIEU====================*/ /*==============NHAP DU LIEU DMMH=============*/ Insertinto DMMH(MaMH,TenMH,SoTiet) values('01',N'Cơ Sở Dữ Liệu',45) Insertinto DMMH(MaMH,TenMH,SoTiet) values('02',N'Trí Tuệ Nhân Tạo',45) Insertinto DMMH(MaMH,TenMH,SoTiet) values('03',N'Truyền Tin',45) Insertinto DMMH(MaMH,TenMH,SoTiet) values('04',N'Đồ Họa',60) Insertinto DMMH(MaMH,TenMH,SoTiet) values('05',N'Văn Phạm',60) /*==============NHAP DU LIEU DMKHOA=============*/ Insertinto DMKhoa(MaKhoa,TenKhoa) values('AV',N'Anh Văn') Insertinto DMKhoa(MaKhoa,TenKhoa) values('TH',N'Tin Học') Insertinto DMKhoa(MaKhoa,TenKhoa) values('TR',N'Triết') Insertinto DMKhoa(MaKhoa,TenKhoa) values('VL',N'Vật Lý') /*==============NHAP DU LIEU DMSV=============*/ SETDATEFORMAT DMY GO Insertinto DMSV values('A01',N'Nguyễn Thị',N'Hải',N'Nữ','23/02/1990',N'Hà Nội','TH',130000) Insertinto DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('A02',N'Trần Văn',N'Chính',N'Nam','24/12/1992',N'Bình Định','VL',150000) Insertinto DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('A03',N'Lê Thu Bạch',N'Yến',N'Nữ','21/02/1990',N'TP Hồ Chí Minh','TH',170000) Insertinto DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('A04',N'Trần Anh',N'Tuấn',N'Nam','20/12/1990',N'Hà Nội','AV',80000) Insertinto DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('B01',N'Trần Thanh',N'Mai',N'Nữ','12/08/1991',N'Hải Phòng','TR',0) Insertinto DMSV(MaSV,HoSV,TenSV,Phai,NgaySinh,NoiSinh,MaKhoa,HocBong) values('B02',N'Trần Thị Thu',N'Thủy',N'Nữ','02/01/1991',N'TP Hồ Chí Minh','AV',0) /*==============NHAP DU LIEU BANG KET QUA=============*/ Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A01','01',1,3) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A01','01',2,6) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A01','02',2,6) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A01','03',1,5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A02','01',1,4.5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A02','01',2,7) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A02','03',1,10) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A02','05',1,9) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A03','01',1,2) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A03','01',2,5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A03','03',1,2.5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A03','03',2,4) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('A04','05',2,10) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('B01','01',1,7) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('B01','03',1,2.5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('B01','03',2,5) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('B02','02',1,6) Insertinto KetQua(MaSV,MaMH,LanThi,Diem) values('B02','04',1,10) /*===============CAP NHAT THONG TIN=================*/ câu 2-update dmmh set sotiet=45 where mamh='05' câu 3,4 update dmsv set tensv=N'Kỳ',phai ='Nam' where masv='b01' -câu update dmsv set ngaysinh='05/07/1990' where masv='b02' câu -update dmsv set hocbong=hocbong+100000 where makhoa='Av' -câu -deletefrom ketqua where lanthi=2 and diem100000 orderby makhoa desc 19 Liệt kê sinh viên có học bổng từ 150,000 trở lên sinh Hà Nội, gồm thông tin: Họ tên sinh viên, Mã khoa, Nơi sinh, Học bổng Select HoSV+' '+TenSV As N'Họ Tên Sinh Viên',MaKhoa As N'Mã Khoa',NoiSinh As N'Nơi Sinh',HocBong AsN'Học Bổng' From DMSV Where HocBong>=150000 and NoiSinh=N'Hà Nội' 20 Danh sách sinh viên khoa Anh văn khoa Vật lý, gồm thông tin: Mã sinh viên, Mã khoa, Phái Select MaSV As N'Mã Sinh Viên',MaKhoa As N'Mã Khoa',Phai As N'Phái' From DMSV Where MaKhoa='AV'or MaKhoa='VL' 21 Cho biết sinh viên có ngày sinh từ ngày 01/01/1991 đến ngày 05/06/1992 gồm thông tin: Mã sinh viên, Ngày sinh, Nơi sinh, Học bổng Select MaSV As N'Mã Sinh Viên',NgaySinh As N'Ngày Sinh',NoiSinh As N'Nơi Sinh',HocBong As N'Học Bổng' From DMSV Where NgaySinh>='01/01/1991'and NgaySinh=80000 and HocBong30 and SoTiet20 28 Danh sách sinh viên có tuổi từ 20 đến 25, thơng tin gồm: Họ tên sinh viên, Tuổi, Tên khoa select hosv+' '+tensv 'Tên sinh viên','Tuổi'=year(getdate())year(ngaysinh),tenkhoa 'Tên khoa' from dmsv sv,dmkhoa khoa where sv.makhoa=khoa.makhoa and(year(getdate())-year(ngaysinh)between 20 and 25) 29 Danh sách sinh viên sinh vào mùa xuân năm 1990, gồm thông tin: Họ tên sinh viên, Phái, Ngày sinh select hosv+' '+tensv 'Tên sinh viên',phai 'Phái',ngaysinh 'Ngày sinh' from dmsv whereyear(ngaysinh)=1990 and(month(ngaysinh)in(1,2,3)) between and 3) 30 Cho biết thông tin mức học bổng sinh viên, gồm: Mã sinh viên, Phái, Mã khoa, Mức học bổng Trong đó, mức học bổng hiển thị “Học bổng cao” giá trị field học bổng lớn 500,000 ngược lại hiển thị “Mức trung bình” select masv'Mã sinh viên',phai'Phái',makhoa 'Mã khoa','Mức trung bình'=casewhen hocbong>500000 thenN'Học bổng cao'else N' Mức trung bình'end from dmsv D Truy vấn sử dụng hàm kết hợp: max, min, count, sum, avg gom nhóm 32 Cho biết tổng số sinh viên toàn trường select'Tổng sinh viên toàn trường'=count(masv) from dmsv 33 Cho biết tổng sinh viên tổng sinh viên nữ cách viết gộp bảng select'Tổng sinh viên'=count(masv),'Tổng sinh viên nữ'=sum(case phai when N'nữ'then else end) from dmsv -select'Tổng sinh viên'=count(masv),t.nu 'Tổng sinh viên nữ' from dmsv, ( selectcount(masv)as'nu' from dmsv where phai=N'Nữ' )as t groupby t.nu 34 Cho biết tổng số sinh viên khoa select makhoa 'Mã khoa','Mã sinh viên'=count(masv) from dmsv groupby makhoa 35 Cho biết số lượng sinh viên học môn select tenmh'Tên môn học',count(distinct masv)'Mã sinh viên' from ketqua kq,dmmh mh where kq.mamh=mh.mamh groupby tenmh 36 Cho biết số lượng môn học mà sinh viên học(tức tổng số môn học có torng bảng kq) selectcount(distinct mamh)'Tổng số mơn học' from ketqua 37 Cho biết tổng số học bổng khoa select makhoa 'Mã khoa',sum(hocbong)'Tổng học bổng' from dmsv groupby makhoa 38 Cho biết học bổng cao khoa select makhoa 'Mã khoa',max(hocbong)'Học bổng cao nhất' from dmsv groupby makhoa 39 Cho biết tổng số sinh viên nam tổng số sinh viên nữ khoa select makhoa,'Tổng sinh viên nam'=sum(case phai when N'nam'then else end),'Tổng sinh viên nữ'=sum(case phai when N'nữ'then else end) from dmsv groupby makhoa 40 Cho biết số lượng sinh viên theo độ tuổi selectyear(getdate())-year(ngaysinh)'Tuổi',count(masv)'Số sinh viên' from dmsv groupbyyear(getdate())-year(ngaysinh) 41 Cho biết năm sinhsinh viên theo học trường selectyear(ngaysinh)'Năm',count(Masv)'Số sinh viên' from dmsv groupbyyear(ngaysinh) havingcount(Masv)=2 42 Cho biết nơi có sinh viên theo học trường select NoiSinh,count(Masv)'Số sinh viên' from dmsv groupby NoiSinh havingcount(Masv)>=2 43 Cho biết mơn có sinh viên dự thi select mamh 'Mã môn học',count(masv)'Số Sinh viên' from ketqua groupby mamh havingcount(masv)>3 44 Cho biết sinh viên thi lại lần selectmin(ngaysinh) from dmsv where makhoa='av' ) or select hosv+' '+tensv 'Họ tên sinh viên',ngaysinh 'Ngày sinh',makhoa 'Mã khoa' from dmsv where(getdate()-ngaysinh)= ( selectmax(getdate()-ngaysinh) from dmsv where makhoa='av' ) 54 Cho biết khoa có đơng sinh viên cach 1: select tenkhoa from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa groupby tenkhoa havingcount(tenkhoa)>=all(selectcount(masv) from dmsv groupby makhoa) cach 2: select tenkhoa from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa groupby tenkhoa havingcount(tenkhoa)=(selectmax(t.tong) from ( selectcount(masv)as tong from dmsv groupby makhoa )as t ) 55 Cho biết khoa có đơng nữ select tenkhoa 'Tên khoa' from dmsv sv,dmkhoa kh where sv.makhoa=kh.makhoa and phai=N'nữ' groupby tenkhoa havingcount(tenkhoa)>=all(selectcount(masv) from dmsv where phai=N'nữ' groupby makhoa) 56 Cho biết mơn có nhiều sinh viên rớt lần nhiều select mamh from ketqua where lanthi=1 and diem=all(selectcount(diem) from ketqua where lanthi=1 and diem( select diem from ketqua kq, dmsv sv where sv.masv=kq.masv and mamh='05'and makhoa='av' ) G Truy vấn trả nhiều giá trị, sử dụng lượng từ all, any, union, top 58 Cho biết sinh viên có nơi sinh với Hải select masv,hosv+' '+tensv from dmsv where noisinh=(select noisinh from dmsv where tensv=N'hải') 59 Cho biết sinh viên có học bổng lớn tất học bổng sinh viên thuộc khoa anh văn select masv from dmsv where hocbong>=all(select hocbong from dmsv where makhoa='av') 60 Cho biết sinh viên có học bổng lớn học bổng sinh viên học khóa anh văn select masv,hocbong from dmsv where hocbong>=any(select hocbong from dmsv where makhoa='av') 61 Cho biết sinh viên có điểm thi môn sở liệu lần lớn tất điểm thi lần môn sở liệu sinh viên khác select masv from ketqua where mamh='01'and lanthi=2 and diem>=all(select diem from ketqua wher e mamh='01'and lanthi=1) 62 Cho biết sinh viên đạt điểm cao môn select masv,ketqua.mamh,diem from ketqua,(select mamh,max(diem)as maxdiem from ketqua groupby mamh)a where ketqua.mamh=a.mamh and diem=a.maxdiem 63 Cho biết khoa khơng có sinh viên học select* from dmkhoa wherenotexists(selectdistinct makhoa from ketqua,dmsv where ketqua.masv=dmsv.masv and makhoa=dmkhoa.makhoa) 64 Cho biết sinh viên chưa thi môn sở liệu select* from dmsv wherenotexists (selectdistinct* from ketqua where mamh ='01'and masv=dmsv.masv) 65 Cho biết sinh viên khơng thi lần mà có dự thi lần select masv from ketqua kq where lanthi=2 andnotexists (select* from ketqua where lanthi=1 and masv=kq.masv) 66 Cho biết mơn khơng có sinh viên khoa anh văn học select tenmh from dmmh where notexists (select mamh from ketqua kq,dmsv sv where sv.masv=kq.masv and sv.makhoa='av'and dmmh.mamh=mamh) 67 Cho biết sinh viên khoa anh văn chưa học môn văn phạm Select MaSV From DMSv dmsv Where MaKhoa='AV'AndNotExists(Select* From KetQua Where MaMH='05'And MaSV=dmsv.MaSV ) 68 Cho biết sinh viên không rớt môn Select MaSV From DMSV dmsv WhereNotExists(Select* From KetQua Where Diem0 AndNotExists(Select* From KetQua Where Diem0 GroupBy MaKhoa Havingcount(MaSV)>=All(Selectcount(MaSV) From DMSv where hocbong>0 GroupBy MaKhoa ) UNION Select MaKhoa,count(MaSV)'So Luong SV' From DMSV Where HocBong>0 GroupBy MaKhoa Havingcount(MaSV)0 GroupBy MaKhoa ) 71 Cho biết sinh viên có học nhiều mơn Selecttop MaSV,Count(Distinct MaMH)'Số môn học' From KetQua GroupBy MaSV HavingCount(Distinct MaMH)>=All(Selectcount(distinct MaMH) From KetQua GroupBy MaSV ) /*==========================H Truy vấn dùng phép chia =========================*/ 72 Cho biết môn tất sinh viên theo học Select MaMH From KetQua GroupBy MaMH Havingcount(distinct MaSV)=(Selectcount(MaSV) From DMSv ) 73 Cho biết sinh viên học môn giống sinh viên có mã số A02 học Selectdistinct MaSV From KetQua kq WhereExists(Selectdistinct MaMH From KetQua Where MaSV='A02'and MaMH=kq.MaMH ) 74.Cho biết sinh viên học môn môn mà sinh viên A02 học Select TenSV From KetQua kq,DMSv dmsv,(Select MaSV,MaMH,count(distinct MaMH)SoMon From KetQua Where MaSV='A02' GroupBy MaSV,MaMH)a Where kq.MaSV=dmsv.MaSV and kq.MaMH=a.MaMH and kq.MaSV a MaSV GroupBy TenSV Havingcount(distinct kq.MaMH)=(Selectcount(distinct MaMH) From KetQua Where MaSV='A02') Select dmsv.MaSV From KetQua kq, DMSv dmsv Where kq.MaSV=dmsv.MaSV and MaMH=(Selectdistinct MaMH From KetQua Where MaSV='A02'and MaMH=kq.MaMH)and dmsv.MaSV NotLike'A02' GroupBy dmsv.MaSV Havingcount(distinct MaMH)=(Selectcount(distinct MaMH) From KetQua Where MaSV='A02') 75 Tạo bảng tên sinhvien-ketqua: gồm: MASV, HoSV, TenSV, SoMonHoc Sau Thêm liệu vào bảng dựa vào liệu có CreateTable SinhVien_KetQua ( MaSV char(3)notnull, HoSV nvarchar(15)notnull, TenSV nvarchar(7)notnull, SoMonHoc tinyint ) InsertInto SinhVien_KetQua Select dmsv.MaSV,HoSV,TenSV,count(distinct MaMH) From DMSV dmsv,KetQua kq Where dmsv.MaSV=kq.MaSV GroupBy dmsv.MaSV,HoSV,TenSV 76 Thêm vào bảng khoa cột Siso, cập nhật sỉ số vào khoa từ liệu sinh viên go altertable dmkhoa add siso tinyint go update dmkhoa set siso=(selectcount(masv) from dmsv where makhoa='av' groupby(makhoa)) where makhoa='av' update dmkhoa set siso=(selectcount(masv) from dmsv where makhoa='TH' groupby(makhoa)) where makhoa='Th' update dmkhoa set siso=(selectcount(masv) from dmsv where makhoa='Tr' groupby(makhoa)) where makhoa='Tr' update dmkhoa set siso=(selectcount(masv) from dmsv where makhoa='vl' groupby(makhoa)) where makhoa='vl' 77 Tăng thêm điểm cho sinh viên vớt lần Nhưng tăng tối đa điểm update ketqua set diem=diem+1 where lanthi=2 and diem+1=6.5) 79 Thiết lập học bổng cho sinh viên thi hai môn rốt lần update dmsv set hocbong=0 where masv in(select masv from ketqua where lanthi=1 and diem=5 83 Danh sách sinh viên học môn văn phạm môn sở liệu createview cau83 as select* from dmsv where masv in (selectdistinct ketqua.masv from ketqua,dmsv where dmsv.masv=ketqua.masv and(mamh='01'or mamh='05') ) dropview cau83 84 Trong sinh viên cho biết mơn có điểm thi lớn Thơng tin gồm: mã sinh viên, tên sinh viên, tên môn, điểm createview cau84 as selectdistinct dmsv.masv,tensv,tenmh,max(diem)diem from dmsv,ketqua,dmmh where dmsv.masv=ketqua.masv and dmmh.mamh=ketqua.mamh groupby dmsv.masv,tensv,tenmh select*from cau84 85 Danh sách sinh viên: Không rớt lần ,Không học môn văn phạm createview cau85 as select* from dmsv where masv in (select masv from ketqua where(lanthi=1 and diem =all(selectcount(masv) from dmsv where phai=N'nữ' groupby makhoa)) use master go if exists (select name from sys.databases where name=N'Quanlysinhvien') drop database Quanlysinhvien go create database Quanlysinhvien use Quanlysinhvien go create table Sinhvien ( Masv int not null primary key identity, Tensv nvarchar(50) not null, Gioitinh nvarchar(5), Ngaysinh date, Que nvarchar(50), Lop nvarchar(5) ) create table Monhoc ( Mamh int not null primary key identity, Tenmh nvarchar(50), DVHT int ) create table Ketqua ( Masv int, Mamh int, Diem int, constraint check_Diem check (Diem between and 10), constraint primary_key primary key (Masv, Mamh), constraint khoaNgoai_SV_KQ foreign key (Masv) references Sinhvien (Masv), constraint khoaNgoai_MH_KQ foreign key (Mamh) references Monhoc (Mamh) ) insert Sinhvien values (N'Phạm Trung Tính', 'Nam', '03/30/1996', N'Quảng Ninh', 'L01'), (N'Trần Bảo Trọng', 'Nam', '12/14/1995', N'Hà Giang', 'L02'), (N'Lê Thùy Dung', N'Nữ', '05/12/1997', N'Hà Nội', 'L03'), (N'Lê Trường An', 'Nam', '11/20/1995', N'Ninh Bình', 'L04'), (N'Phạm Thị Hương Giang', N'Nữ', '2/21/1999', N'Hòa Bình', 'L02'), (N'Đồn Duy Thức', 'Nam', '4/12/1994', N'Hà Nội', 'L01'), (N'Dương Tuấn Thông', 'Nam', '4/12/1991', N'Nam Định', 'L03'), (N'Lê Thành Đạt', 'Nam', '4/15/1993', N'Phú Thọ', 'L04') insert Monhoc values (N'Tốn cao cấp', 3), (N'Mạng máy tính', 3), (N'Tin học đại cương', 4), (N'Hệ quản trị sở liệu', 2), (N'Cơ sở liệu', 2) insert Ketqua values (1,1,8),(1,2,5),(2,2,1), (3,2,7),(4,2,3),(1,3,7), (2,1,9),(4,1,2),(3,1,4), (2,3,2),(5,1,4),(6,1,2), (6,3,9),(6,2,7),(6,5,10) select * from Sinhvien select * from Monhoc select * from Ketqua /*Câu 1: Cho biết mã số, tên, điểm thi tất môn sv: abc*/ select mh.Mamh, Tenmh, Diem from Sinhvien sv, Monhoc mh, Ketqua kq where sv.Masv = kq.Masv and mh.Mamh = kq.Mamh and Tensv = N'Phạm Trung Tính' /*câu 2: Cho biết mã số, tên môn điểm thi môn mà sinh viên abc phải thi lại (điểm (select MIN(Diem) from Ketqua where Mamh = 1) /*câu 6: Cho biết mã số tên sinh viên có điểm thi mơn lớn điểm thi môn sinh viên 3*/ select sv.Masv, Tensv from Sinhvien sv, Monhoc mh, Ketqua kq where sv.Masv = kq.Masv and mh.Mamh = kq.Mamh and mh.Mamh = and Diem > (select Diem from Ketqua where Mamh = and Masv = 3) /*câu 7: Cho biết số sinh viên phải thi lại môn Cơ sở liệu */ select COUNT(*) as N'Số sv thi lại' from Monhoc mh, Ketqua kq where mh.Mamh = kq.Mamh and Tenmh = N'Mạng máy tính' and Diem < /*câu 8: Đối với môn, cho biết tên môn số sinh viên phải thi lại mơn mà số sinh viên thi lại >=2*/ select Tenmh, COUNT(Diem) as N'Số sv thi lại' from Monhoc mh, Ketqua kq where mh.Mamh = kq.Mamh and Diem < group by Tenmh having COUNT(Diem) > /*Câu 9: Cho biết điểm cao môn mà sinh viên đạt được*/ select MAX(Diem) as N'Điểm cao môn 1' from Ketqua where Mamh = /*Câu 10: Cho biết mã số, tên lớp sinh viên đạt điểm cao môn thuyết sở liệu */ select sv.Masv, Tensv, Lop from Sinhvien sv, Monhoc mh, Ketqua kq, (select MAX(Diem) as maxDiem from Monhoc mh, Ketqua kq where mh.Mamh = kq.Mamh and Tenmh = N'Cơ sở liệu') a where sv.Masv = kq.Masv and mh.Mamh = kq.Mamh and Tenmh = N'Cơ sở liệu' and Diem = a.maxDiem /*câu 11: Cho biết sinh viên có điểm trung bình chung >=5 */ select Tensv, AVG(CAST(Diem as float)) as Diemtb from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv group by Tensv having AVG(CAST(Diem as float)) >= /* Lệnh lấy điểm môn sv để check lại điểm */ select Tensv, Tenmh, Diem from Sinhvien sv, Monhoc mh, Ketqua kq where sv.Masv = kq.Masv and mh.Mamh = kq.Mamh /*Câu 12: Với sinh viên cho biết mã số, tên điểm trung bình chung học tập sinh viên đó*/ select sv.Masv, Tensv, AVG(CAST(Diem as float)) as Diemtb from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv group by sv.Masv, Tensv /* câu 13: Đối với lớp, lập bảng điểm gồm mã số, tên sinh viên điểm trung bình chung học tập Sắp xếp danh sách theo chiều giảm dần điểm trung bình chung học tập chiều tăng dần họ tên*/ select sv.Masv, Tensv, AVG(CAST(Diem as float)) as Diemtb from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv and Lop = 'L03' /* Lớp khác đổi tên lớp */ group by sv.Masv, Tensv order by Diemtb desc, Tensv asc /* Câu 14: Cho biết mã số số điểm lớn sinh viên có nửa số điểm >=7 */ /* Câu 15: Cho biết mã số tên sinh viên có nửa số điểm >=5*/ select sv.Masv, Tensv from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv and Diem >= having COUNT(Diem) > 50 PERCENT */ chua lam duoc */ /* Câu 16: Đối với lớp, cho biết mã số tên sinh viên phải thi lại từ môn trở lên*/ select sv.Masv, Tensv from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv and Diem < and Lop = 'L04' /* Lớp khác đổi tên lớp */ group by sv.Masv, Tensv having COUNT(Diem) > /* Câu 17: Cho biết mã số tên môn học mà tất sinh viên đạt điểm >=5*/ select mh.Mamh, Tenmh from Monhoc mh, Ketqua kq where mh.Mamh = kq.Mamh and Diem >= 5/* chua lam duoc*/ /* Câu 18: Cho biết mã số tên sinh viên có điểm trung bình chung học tập >=8 */ select sv.Masv, Tensv from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv group by sv.Masv, Tensv having AVG(CAST(Diem as float)) >= /* Câu 19: Cho biết mã số tên sinh viên có điểm trung bình chung học tập cao nhất*/ select top (1) sv.Masv, Tensv, AVG(CAST(Diem as float)) as Diemtb from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv group by sv.Masv, Tensv order by Diemtb desc select sv.Masv, Tensv from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv and sv.Masv = (select sv.Masv, Tensv, MAX(a.Diemtb) from Sinhvien sv, (select AVG(CAST(Diem as float)) as Diemtb from Sinhvien sv, Ketqua kq where sv.Masv = kq.Masv group by sv.Masv, Tensv) a) /* chua lam duoc */ /* Câu 20: Cho biết mã số tên sinh viên phai thi lại mơn mà sinh viên có mã số phải thi lại*/ select sv.Masv, Tensv from Sinhvien sv, Monhoc mh, Ketqua kq where sv.Masv = kq.Masv and mh.Mamh = kq.Mamh and sv.Masv != and Diem < and Tenmh in (select Tenmh from Monhoc mh, Ketqua kq where mh.Mamh = kq.Mamh and Diem < and kq.Masv = 3) 14 SELECT distinct MaSV,COUNT(MaMH) as N'SỐ LƯỢNG' FROM KetQua as kg WHERE Diem > GROUP BY MaSV HAVING COUNT(MaMH) >= (select COUNT(distinct MaMH)/2 from KetQua where Diem >= ) 15 SELECT distinct sv.MaSV,Ho_Ten ,COUNT(MaMH) as N'SỐ LƯỢNG' FROM sinhvien as sv,KetQua as kg WHERE sv.MaSV = kg MaSV GROUP BY sv.MaSV ,Ho_Ten HAVING COUNT(MaMH) >= (select COUNT(distinct MaMH)/2 from KetQua where Diem >= ) 17 SELECT distinct mh.MaMH ,TenMH FROM MonHoc as mh, KetQua as kg WHERE mh.MaMH = kg.MaMH and kg.MaMH not in (select MaMH from KetQua where Diem < 5) 19 SELECT distinct sv.MaSV , Ho_Ten AS N' TÊN SINH VIÊN' ,AVG(CAST(Diem as float)) as N'ĐIỂM TRUNG BÌNH' FROM sinhvien as sv, KetQua as kg WHERE sv.MaSV = kg MaSV GROUP BY sv.MaSV ,Ho_Ten having AVG(Diem)>=ALL(select AVG(DIEM) from Ketqua group by MaSV) ... sinh Hà Nội sinh vào tháng 02, gồm thông tin: Họ sinh viên, Tên sinh viên, Nơi sinh, Ngày sinh select hosv 'Họ sinh viên' ,tensv 'Tên sinh viên' ,noisinh 'Nơi sinh' ,ngaysinh 'ngày sinh' from dmsv... tin sau: Mã sinh viên, Họ sinh viên, Tên sinh viên, Học bổng Danh sách xếp theo thứ tự Mã sinh viên tăng dần select masv as'Mã sinh viên' ,hosv as'Họ sinh viên' ,tensv as'Tên sinh viên' ,hocbong... biết sinh viên có ngày sinh từ ngày 01/01/1991 đến ngày 05/06/1992 gồm thông tin: Mã sinh viên, Ngày sinh, Nơi sinh, Học bổng Select MaSV As N'Mã Sinh Viên' ,NgaySinh As N'Ngày Sinh' ,NoiSinh

Ngày đăng: 26/03/2019, 00:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan