FROM Class C,Department D WHERE C.DepartNo=D.DepartNo GROUP BY C.DepartNo,DepartName GO
--3.查看“甘蕾”同学选修的课程名、学分、上课时间、志愿号,按志愿号(升序)排序查询结果。
SELECT CouName,Credit,SchoolTime,WillOrder FROM StuCou SC,Course C,Student S
WHERE SC.CouNo=C.CouNo AND SC.StuNo=S.StuNo AND StuName='甘蕾' ORDER BY WillOrder GO
--4.查看“00电子商务”班的选修报名情况。要求显示学号、姓名、课程编号、课程名称、志愿号,并按学号(升序)、志愿号排序(升序)。
SELECT S.StuNo,StuName,C.CouNo,CouName,WillOrder FROM StuCou SC,Course C,Student S,Class CL WHERE SC.CouNo=C.CouNo AND SC.StuNo=S.StuNo AND CL.ClassNo=S.ClassNo AND
徐人凤
共 6 页 第 6 页
5/19/2015 6
6
ClassName Like '00电子商务' ORDER BY S.StuNo,WillOrder GO
--5.按系部统计各系的最少报名人数、最多报名人数、平均报名人数和报名总数,并汇总显示所有系部的报名总数。要求平均报名人数保留两位小数位。
SELECT '系部名称'=DepartName,'最少报名人数
'=MIN(WillNum),'最多报名人数'=MAX(WillNum),'平均报名人数'=CONVERT(DECIMAL(5,2),AVG(WillNum)),'报名总数'=SUM(WillNum)
FROM Course C,Department D WHERE C.DepartNo=D.DepartNo GROUP BY DepartName WITH CUBE GO
徐人凤 共 7 页 第 7 页 5/19/2015 7 7
单元3(维护数据)
--12.学号为“00000025”的同学第一志愿报名选修“001”课程,请在数据库中进行处理。
INSERT StuCou(StuNo,CouNo,WillOrder,State) VALUES('00000025','001',1,'报名') GO
/*课程报名人数增加人*/ UPDATE Course
SET WillNum=WillNum+1 WHERE CouNo='001' GO
--2.删除学号为“00000025”的学生的选课报名信息。
DELETE StuCou
WHERE StuNo='00000025' GO
/*课程表'00000025'同学报名的那些课程报名人数都要减少1*/ --方法: UPDATE Course
SET WillNum=WillNum-1
徐人凤
共 8 页 第 8 页
5/19/2015 8
8
FROM Course,StuCou
WHERE StuNo='00000025' and Course.CouNo=StuCou.CouNo GO
--方法2:(游标)
DECLARE @CouNo char(3) DECLARE MYCursor cursor for
SELECT CouNo from StuCou WHERE StuNo='00000025' OPEN MYCursor
FETCH NEXT FROM MYCursor INTO @CouNo WHILE @@FETCH_STATUS=0 BEGIN
UPDATE Course SET WillNum=WillNum-1 WHERE CouNo=@CouNo
FETCH NEXT FROM MYCursor INTO @CouNo END
CLOSE MYCursor DEALLOCATE MYCursor GO
徐人凤
共 9 页 第 9 页
5/19/2015 9
9
--3.需要将“00多媒体”班级“杜晓静”同学的名字修改为“杜小静”。
UPDATE Student SET StuName='杜小静' FROM Student S,Class C
WHERE S.ClassNo=C.ClassNo AND
StuName='杜晓静' AND ClassName='00多媒体' GO
--“00电子商务”班的“林斌”同学申请将已选修的“网络信息检索原理与技术”课程修改为“Linux操作系统”。 UPDATE StuCou
SET CouNo=(SELECT CouNo FROM Course WHERE CouName='Linux操作系统')
FROM StuCou SC,Student S,Course C,Class Cl WHERE SC.StuNo=S.StuNo AND SC.CouNo=C.CouNo AND S.ClassNo=Cl.ClassNo AND S.StuName='林斌' AND
Cl.ClassName='00电子商务' AND CouName='网络信息检索原理与技术'
徐人凤
共 10 页 第 10 页
5/19/2015 10
10