资源描述:
《数据库-实验二.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库实验报告二实验二SQLSERVER操纵数据和使用试图一.目的与要求1>.熟练进行数据库数据的查询;2>.练习对数据库数据的更新;3>.练习视图的创建和数据操纵;二.实验内容及过程(使用查询分析器)1.使用SQL语句完成以下查询1>检索王晓名老师所授课程的课程号和课程名;USESTUDENT;SELECTCNO,CNAMEFROMCWHERETNAME='王晓名';2>检索年龄大于22岁的男学生的学号和姓名;USESTUDENT;SELECTSNO,SNAMEFROMSWHEREAGE>22ANDSEX='男';
2、3>检索李铭同学不学的课程的课程号;方法一:USESTUDENT;SELECTCNOFROMCWHERECNONOTIN(SELECTCNOFROMSCWHERESNOIN(SELECTSNOFROMSWHERESNAME='李铭'));方法二:USESTUDENT;SELECTC.CNOFROMCEXCEPTSELECTSC.CNOFROMS,SCWHERES.SNO=SC.SNOANDS.SNAME='李铭';4>检索全部学生都选修的课程号与课程名;USESTUDENT;SELECTCNO,CNAMEFROMCW
3、HERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHEREC.CNO=SC.CNOANDS.SNO=SC.SNO));5>求选修C2课程的学生的平均年龄;方法一:USESTUDENT;SELECTAVG(CONVERT(INT,AGE))ASAVG_OLDFROMS,C,SCWHERES.SNO=SC.SNOANDC.CNO=SC.CNOANDC.CNO='C2';方法二:USESTUDENT;SELECTAVG(CONVERT(INT,AGE))ASAVG
4、_OLDFROMSWHERESNOIN(SELECTSNOFROMSCWHERECNO='C2');6>统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列;USESTUDENT;SELECTDISTINCTCNO,COUNT(SNO)ASS_NUMBERFROMSCGROUPBYCNOHAVINGCOUNT(SNO)>5ORDERBYCOUNT(SNO)DESC,CNO;7>检索姓名以李打头的所有学生的姓名和年龄;USESTUDENT;SEL
5、ECTSNAME,AGEFROMSWHERESNAMELIKE'李%';8>求年龄大于女同学平均年龄的男同学的姓名和年龄;USESTUDENT;SELECTSNAME,AGEFROMSWHERESEX='男'GROUPBYSNAME,AGEHAVINGCONVERT(INT,AGE)>(SELECTAVG(CONVERT(INT,AGE))FROMSWHERESEX='女')ORDERBYS.AGE;2.使用SQL语句完成以下更新1>将元组(’S10’,’吴坚’,22)添加到S表中;USESTUDENT;INSERT
6、INTOS(SNO,SNAME,AGE)VALUES('S10','吴坚','22');2>另建一个表STUDENT(SNO,NAME,SEX),将各门课程的总评成绩都达到80分的同学的有关数据存入该表;先计算总评成绩;USESTUDENT;UPDATESCSETEGRADE=GRADE+PGRADE;②创建表;USESTUDENT;CREATETABLESTUDENT(SNOCHAR(4)NOTNULL,NAMECHAR(8),SEXCHAR(2));③插入数据;USESTUDENT;INSERTINTOSTUDE
7、NT(SNO,NAME,SEX)SELECTSNO,SNAMEASNAME,SEXFROMSWHERESNOIN(SELECTSNOFROMSCWHEREEGRADE>=80);3>从SC中删除没有考试成绩的元组;USESTUDENT;DELETEFROMSCWHEREGRADEISNULL;4>删除学生刘成刚的选修课程和成绩;USESTUDENT;DELETEFROMSCWHERESNOIN(SELECTSNOFROMSWHERESNAME='刘成刚');5>把数据结构课程考试成绩不及格的总评成绩改为空值;USES
8、TUDENT;UPDATESCSETEGRADE=NULLWHEREGRADE<60ANDCNOIN(SELECTCNOFROMCWHERECNAME='数据结构');6>把低于总平均考试成绩的女同学的考试成绩提高5%;USESTUDENT;UPDATESCSETGRADE=GRADE*1.05WHERESNOIN(SELECTSNOFROMS