欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    SQL语句创建学生信息数据库表的示例.docx

    • 资源ID:1072789       资源大小:29.52KB        全文页数:8页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL语句创建学生信息数据库表的示例.docx

    用SQL语句创立如下三个基本表:学生表(StUderIt)、课程表(Course).学生选课表(SC),构造如下所示Student表构造列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取男'或'女'Sage年龄整数取值1545Sdept所在院系字符串,长度为20默认为'计算机系'CreatetableStudentSnovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex='男'orSsex=,女'),Sageintcheck(Sagebetween15and45),SdeptVarChar(20)default(,计算机系')Course表构造列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0CreatetablecourseCnovarchar(10)primarykey,Cnamevarchar(20)notnul1,Ccreditintcheck(Sctedit>O),Semesterintcheck(Semester>O),Periodintcheck(Period>0)SC表构造列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码Cno课程号字符串,长度为io主码,引用CoUrSe的外码Grade成绩整数取值0100CreatetableSCSnovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(GradebetweenOand100),Primarykey(Sno,Cno)1 .查询学生选课表中的全部数据。SELECT*FROMSCgo2 .查询计算机系学生的姓名、年龄。SelectSname,SageFromStudentWhereSdept=,计算机系'3 .查询成绩在7080分之间的学生的学号、课程号和成绩。SelectSno,Cno,GradeFromCourse,ScWherecourse,cno=sc.Cnoandsc.Gradebetween70and804 .查询计算机系年龄在1820之间且性别为“男的学生的姓名和年龄。SelectSname,SageFromStudentWhereSagebetween18and20andSsex=,男'andSdept='计算机系'go5 .查询课程号为“C01”的课程的最高分数。Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno=,COl,whereCno=,COl,Order by Grade descorder by Grade desc6 .查询计算机系学生的最大年龄和最小年龄。Selectmax(Sage)as年龄最大,min(Sage)as年龄最小FromStudentWhereSdept三,计算机系'7 .统计每个系的学生人数。Selectcount(Sdept)as学生人数,SdeptFromStudentGroupbySdept8 .统计每门课程的选课人数和考试最高分。Selectcount(Sno)as选课人数,c.Sno,max(Grade)as最高分FromCoursecleftjoinSo=s.CnoGroupbyc.Cno9 .统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。Selectsno,avg(grade)as,平均成绩,count(cno)as,选课门数,FromscGroupbysnoOrderbysno10 .查询总成绩超过200分的学生,要求列出学号、总成绩。Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>20011 .查询选修了课程“C02”的学生的姓名和所在系。Selectsname,sdeptFromstudentsi,scs2Wheresi.sno=o三,c02,12 .查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。Selectsi.sname,o,s2.gradeFromstudentsi,scs2Wheresi.sno=s2.snoandgrade>80Orderbygradedesc13 .查询哪些课程没有人选修、要求列出课程号和课程名。So,ameFo=oGo,ameHavingcount(s.sno)=014 .用子查询实现如下查询:(1)查询选修了课程“C01”的学生的姓名和所在系。Selectsname,sdept,snoFromstudentWheresnoin(SelectsnoFromscWherecno三,cl,)(2)查询信息系成绩在80分以上的学生的学号、姓名。Selectsno,snameFromstudentWheresdopt三,外语系'andsnoin(SelectsnoFromscWheregrade>80)(3)查询计算机系考试成绩最高的学生的姓名。Selectsi.snamefromstudentsWheresdcpt三,计算机系,andsnoin(selectsnofromscWheregradein(selectmax(Gracle)fromsc)15 .删除选课成绩小于50分的学生的选课记录。DeletefromscWheregrade<70Select*fromsc验证16 .将所有选修了课程“C01”的学生的成绩加10分:UpdatescSetgrade=grade+10WhereCnO='cl,17 .将计算机系所有选修了课程“计算机文化根基课程的学生的成绩加10分。Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWhereCnanIC='计算机文化根基')18 .创立查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。Select*fromcourseSelect*fromstudentsSelect*fromscCreateview学生基本信息AsSelectstudents,sno,snamc,sdcpt,o,cname,ccreditFromcourse,sc,studentsWherecourse,cno=oAo=students.sno19 .创立查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。Createviews_avgAsSelectsno,avg(Grade)as平均成绩fromscGroupbysno20 .创立查询每个学生的选课学分的视图,要求列出学生学号及总学分。Createviews_scAsSelectstudents,sno,sum(ccrcdit)as总学分fromStudents,sc,courseWherestudents,sno=sc.snoAo=oGroupbystudents,sno21 .用SQL语句创立一个名为f的函数,该函数能够求出3到100之间的所有素数之和。Createfunctionf_l()ReturnsintAsBeginDeclareaint,bint,iint,©sumintSeti=3SetSUm=OWhilei<101BeginSetb=0Whilea<=i2BeginIfi%a=0BeginSetb=lBreakEndSeta=a+lEnd15=。-b为O说明之前没有比御小的数字可以把防整除BeginSetsum=sum+iEndSeti=i+lEndReturnSUnlEndGoSelectdbo.f_l()22 .用SQL语句创立一个名为f_2的函数,该函数能够求出任意两个数的最大值。Createfunctionf_2(x1int,x2int)returnsintAsBeginDeclaremaxintIfxl>x2ReturnmaxEndSelectdbo.f_2(2,6)23 .用SQL语句创立一个名为pro_get_stu_information的存储过程,该存储过程能够根据用户指定的Sno学号)求出与该学号对应的学生姓名、课程名、成绩。Createprocedurepro_get_stu_informationchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents,sno=o=oandsc.sno=mExecpro-get-stuinformation,0603002,24 .为“学生表创立一个依赖于“学号的唯一的、非聚集的索引Createuniquenonclusteredindexstu_intonstudents(sno)25 .通过游标逐行读取“学生表的记录Declarestu_curcursorforSelect*fromstudentsforreadonlyOpenstucurFetchstucurClosestucurDeallocatestucur

    注意事项

    本文(SQL语句创建学生信息数据库表的示例.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开