sqlserver的一些练习

sqlserver的一些练习

ID:34726071

大小:97.68 KB

页数:15页

时间:2019-03-10

sqlserver的一些练习_第1页
sqlserver的一些练习_第2页
sqlserver的一些练习_第3页
sqlserver的一些练习_第4页
sqlserver的一些练习_第5页
资源描述:

《sqlserver的一些练习》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、建立S_T数据库1.使用下面语句:CREATEDATABASES_T2.用菜单建立二、用CREATETABLE语句建立Student、Course和SC三张表(参见教材P82)1.Student(Sno,Sname,Ssex,Sage,Sdept)要求:Sno为主码,Sname取唯一值USES_TCREATETABLEStudent(SnoVARCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameVARCHAR(20)UNIQUE,/*Sname取唯一值*/SsexVARCHAR(2),SageINT,SdeptVARCHAR(20));2.Cour

2、se(Cno,Cname,Cpno,Ccredit)要求:Cno是主码;Cname不能为空;Cpno为先修课程编号,参照本表的CnoCREATETABLECourse(CnoVARCHAR(4)PRIMARYKEY,CnameVARCHAR(40)NOTNULL,CpnoVARCHAR(4),CcreditINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));3.SC(Sno,Cno,Grade)要求:主码是Sno和Cno;Sno参照Student表中的Sno;Cno参照Course表中的CnoCREATETABLESC(SnoVARCHAR

3、(9),CnoVARCHAR(4),GradeINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENCESCourse(Cno));一、用DROPTABLE语句将之前建立的三张表删除SQL Server 不支持 drop table ... cascade 语句,用户需要自己手动删除那些引用删除表的表。所以请注意删除表的顺序DROPTABLESC;DROPTABLEStudent;DROPTABLECourse;二、用菜单建立上面要求的三张表,在关系图中建立外码

4、参照关系。一、修改这三张表1.在Course表中加入一个属性列Cdept,记录开课的系名ALTERTABLECourseADDCdeptVARCHAR(20);2.增加课程名称必须取唯一值的约束条件ALTERTABLECourseADDUNIQUE(Cname);3.取消Student表中的Sname取唯一值的约束ALTERTABLEStudentDROPCONSTRAINT索引名称;说明:SQLSERVER不支持DROPUNIQUE,在表的设计窗口中查询索引名称,然后使用上面的语句。4.在表Student的设计窗口中,将Sage的默认值设置为0二、按照书上的数据,填充数据

5、表。三、用SQL的查询语句表达下列查询:1.检索李勇同学所学课程的课程号和课程名。SELECTCourse.Cno,CnameFROMStudent,Course,SCWHEREStudent.Sno=SC.SnoANDCourse.Cno=SC.CnoANDSname='李勇'2.检索年龄大于18岁的男学生的学号和姓名。SELECTSno,SnameFROMStudentWHERESsex='男'ANDSage>181.检索选修了'2'号课程的女学生姓名SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCno='2'AN

6、DSsex='女'2.检索200215121同学不学的课程的课程号。SELECTCnoFROMCourseWHERECnoNOTIN(SELECTCnoFROMSCWHERESno='200215121')或者SELECTCnoFROMCourseWHERENOTEXISTS(SELECT*FROMSCWHERECourse.Cno=SC.CnoANDSno='200215121')3.检索至少选修两门课程的学生学号。SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>=2;或者SELECTSnoFROMStudentWHERE2<=(Selec

7、tcount(*)FROMSCWHERESC.Sno=Student.SnoGROUPBYSno)1.每个学生选修的课程门数。SELECTSno,count(*)CcountFROMSCGROUPBYSno2.求选修'3'号课程的学生的平均分。SELECTAVG(Grade)AvggradeFROMSCWHERECno='3'3.求每个学生平均成绩。SELECTSno,AVG(Grade)AvggradeFROMSCGROUPBYSno4.统计每门课程的学生选修人数(超过1人的课程才统计)。查询结果按人数降序排列,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。