欢迎来到天天文库
浏览记录
ID:41798233
大小:95.08 KB
页数:9页
时间:2019-09-02
《北京邮电大学《数据库应用技术》实验二sqlserver数据库设计高级内容》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二SQLSewer数据库设计高级内容一、使用查询分析器实现以下查询(1)统计有学生选修的课程门数。SELECTCOUNT(DISTINCTcourseno)FROMsc(Nocolumnname)(2)求选课在四门以上的学生所选课程的平均成绩(不统计不及格的课程)。最后按降序列出平均成绩名次名单来。SELECTsno,AVG(score)avg_gradeFROMscWHEREscore>=60GROUPBYsnoHAVINGcount(courseno)>=4CourseNoSnoScore120081512667120081512366
2、220081512388320081512378►4200815123型I220081512883I320081512890420081512893120081512782I220081512777320081600090420081600092米NULLNULLNULLJResults立MessagessnoavgjradeBYavg_gradeDESCORDER120081512380CourseNoSnoScore120081512667120081512366220081512388320081512378►42008151232200
3、81512883320081512890420081512893120081512782220081512777320081600090420081600092*NULLNULLNULL2Resultssnoavgjade没有满足要求的(1)统计每门指选课程的学生选修人数(超过4人的课程才统计),要求输出课程号,课程名和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。SELECTcourseno,COUNT(sno)snumFROMscGROUPBYcoursenoHAVINGCOUNT(sno)>=4ORDERBYCOUNT(
4、sno)DESC,coursenoASCSELECTcoursenoCOUNT(sno)snumFROMscGROUPBYcoursenoHAVINGCOUNT(sno)>=10ORDERBYCOUNT(sno)DESC,coursenoASC
5、J]Results^jMessagescoursenosnum无满足耍求的SELECTcoursenorCOUNT(sno)snumFROMscGROUPBYcoursenoHAVINGCOUNT(sno)>-=2ORDER3YCOUNTIsno)DESC,coursenoASC□Results-JMe
6、ssagescoursenosnum11LI223333443(1)检索所学课程包含了s3所选所有课程的学生姓名。SELECTDISTINCTsnoFROMscsc_lWHERENOTEXISTS(SELECT*FROMscsc_2WHEREsno=12008151281ANDNOTEXISTS(SELECT*FROMscSC_3WHEREsc_3•sno=sc_l•snoANDsc_3.courseno=sc_2•courseno))OResults_3Messagessno12008151232[200815128j注:上述查询中所用的课程
7、号和学号的值,可以根据自己表中的数据作修改;为了验证查询的正确,可能还需要输入或修改表中的示例数据;二、实现数据完整性(1)定义check约束check约束用来限制用户输入的某一列数据;例如:成绩输入的值应该限制为0-100Z间的数值altertablescaddconstraintck_scCHECK(score>=0ANDscore<=100)曰口dbo.SC(2一JColumnsGDC3Keys曰」Constraintsclc.sc㈡CouseNoSnoScore120081S12667120081512366220081S1238832
8、0081512378420081512388220081512883/3200815128110e420081512893120081512782220081S12777320081600090420081600092*AUZNUUNULL删除约朿且Itertablescdropconstraint(2)定义规则(rule)[鲫Qikrule也可以用来限制用户输入的数据,但它只定义一次,可以绑定到一列或多列;例如:创建一个规则,保证只允许输入指定的课程类别:“必修”,“任选",“指选”,然后把此规则绑定到“课程类别=创建规则createrule
9、coursetypeas@coursetypein「必修J,任选,J指选')曰23Rulesdbo.coursetype绑定规则sp_bindrule
此文档下载收益归作者所有