资源描述:
《数据库实验内容》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库实验内容环境选择:WINDOWSXPSP2+SQLSERVER2005实验一:安装SQLSERVER2005EXPRESS+SQLServerManagementStudioExpress实验二:实验三:使用SQL语句实现视图的更新,例如:UPDATEC_P_NSETpna='人民日报-1'wherepna='人民日报'将“人民日报”修改成“人民日报-1”实验四 SELECT查询操作1、基于“教学管理”数据库jxgl,试用SQL的查询语句表达下列查询:(1)检索年龄大于23岁的男学生的学号和姓名。SELECTSno,SnameFROMStude
2、ntWHERE(Sage>23)AND(Ssex='男')(2)检索至少选修一门课程的女学生姓名。selecta.Snamefromstudentasa,scasbwherea.Ssex='女'anda.Sno=b.Snogroupbya.Snamehavingcount(b.Cno)>=1(3)检索王同学不学的课程的课程号。selectCnofromSCwhereSnoin(selectSnofromstudentwhereSnamelike'王%')(4)检索至少选修两门课程的学生学号。selectSnofromscgroupbySnohavin
3、gcount(*)>=2(5)检索全部学生都选修的课程的课程号与课程名。selectCno,CnamefromCoursewhereCnoin(selectCnofromscgroupbyCno)(6)检索选修了所有3学分课程的学生学号。selectSnofromscwhereCnoin(selectCnofromCoursewhereCcredit=3)2、基于“教学管理”数据库jxgl,试用SQL的查询语句表达下列查询:(1)统计有学生选修的课程门数。SELECTCOUNT(DISTINCTCno)FROMSC(2)求选修4号课程的学生的平均年龄
4、。SELECTAVG(a.Sage)fromStudentasa,Scasbwherea.Sno=b.Snoandb.Cno=4(3)求学分为3的每门课程的学生平均成绩。SELECTAVG(a.Grade)fromScasa,Courseasbwherea.Cno=b.Cnoandb.Ccredit=3(4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。SELECTCno,Count(*)as选修人数fromscgroupbycnohavingcount(*)>3or
5、derby选修人数DESC,cnoASC(5)检索学号比王非同学大,而年龄比他小的学生姓名。SELECTSnamefromstudentwhereSno>(selectsnofromstudentwhereSname='王非')andSage<(selectSagefromstudentwhereSname='王非')(6)检索姓名以王打头的所有学生的姓名和年龄。SELECTSname,Sagefromstudentwheresnamelike'王%'(7)在SC中检索成绩为空值的学生学号和课程号。SELECTSno,CnofromScwhereGr
6、adeisNULL(8)求年龄大于女同学平均年龄的男学生姓名和年龄。SELECTSname,SagefromStudentwhereSage>(Selectavg(Sage)fromStudentwhereSsex='女')andSsex='男'(9)求年龄大于所有女同学年龄的男学生姓名和年龄。SELECTSname,SagefromStudentwhereSage>(SelectMax(Sage)fromStudentwhereSsex='女')andSsex='男'(10)检索所有比“王华”年龄大的学生姓名、年龄和性别。SELECTSname,S
7、age,SsexfromStudentwhereSage>(SelectSagefromStudentwhereSname='王华')(11)检索选修“2”课程的学生中成绩最高的学生的学号。SELECTSnofromscwhereCno=2andGrade=(selectMax(Grade)fromscwhereCno=2)(12)检索学生姓名及其所选修课程的课程号和成绩。SELECTa.Sname,b.Cno,b.Gradefromstudentasa,scasbwherea.Sno=b.Sno(13)检索选修4门以上课程的学生总成绩(不统计不及格
8、的课程),并要求按总成绩的降序排列出来。SELECTSUM(Grade)fromscwhereGrade>=