首页 SQL语句创建学生信息数据库表的示例(2)

SQL语句创建学生信息数据库表的示例(2)

举报
开通vip

SQL语句创建学生信息数据库表的示例(2)用SQL语句创立如下三个根本表:学生表〔Student〕、课程表〔Course〕、学生选课表〔SQ,结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取‘男‘或‘女‘Sage年龄整数取值15〜45Sdept所在院系字符串,长度为20默认为‘计算机系’CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(1...

SQL语句创建学生信息数据库表的示例(2)
用SQL语句创立如下三个根本 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf :学生表〔Student〕、课程表〔Course〕、学生选课表〔SQ,结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取‘男‘或‘女‘Sage年龄整数取值15〜45Sdept所在院系字符串,长度为20默认为‘计算机系’CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex='男'orSsex='女'),Sageintcheck(Sagebetween15and45),Sdeptvarchar(20)default('计算机系'))Course表结构列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit>0),Semesterintcheck(Semester>0),Periodintcheck(Period>0))SC表结构列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码Cno课程号字符串,长度为10主码,引用Course的外码Grade成绩整数取值0〜100CreatetableSC(Snovarchar⑺foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno)).查询学生选课表中的全部数据.SELECT*FROMSCgo.查询计算机系学生的姓名、年龄.SelectSname,SageFromStudentWhereSdept='计算机系'.查询成绩在70〜80分之间的学生的学号、课程号和成绩.SelectSno,Cno,GradeFromCourse,ScWherecourseo=scoandsc.Gradebetween70and80.查询计算机系年龄在18〜20之间且性别为“男〞的学生的姓名和年龄.SelectSname,SageFromStudentWhereSagebetween18and20andSsex='男'andSdept=’计算机系'go.查询课程号为“C0T的课程的最高分数.Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno='C01'whereCno='C01'OrderbyGradedescorderbyGradedesc.查询计算机系学生的最大年龄和最小年龄.Selectmax(Sage)as年龄最大,min(Sage)as年龄最小FromStudentWhereSdept='计算机系'.统计每个系的学生人数.Selectcount(Sdept)as学生人数,SdeptFromStudentGroupbySdept.统计每门课程的选课人数和测试最高分.Selectcount(Sno)as选课人数,c.Sno,max(Grade)as最高分FromCoursecleftjoinScsonco=soGroupbyco.统计每个学生的选课门数和测试平均成绩,弁按学号的升序显示结果.Selectsno,avg(grade)as'平均成绩’,count(cno)as'选课门数’FromscGroupbysnoOrderbysno.查询总成绩超过200分的学生,要求列出学号、总成绩.Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>200.查询选修了课程“C02'的学生的姓名和所在系.Selectsname,sdeptFromstudents1,scs2Wheres1.sno=s2.snoands2o='c02'.查询成绩在80分以上的学生的姓名、课程号和成绩,弁按成绩的降序排列结果.Selects1.sname,s2o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc.查询哪些课程没有人选修、要求列出课程号和课程名.Selectco,cameFromcoursecleftjoinscsonco=soGroupbyco,cameHavingcount(s.sno)=0.用子查询实现如下查询:查询选修了课程“C01〞的学生的姓名和所在系.Selectsname,sdept,snoFromstudentWheresnoin(SelectsnoFromscWherecno='c01')查询信息系成绩在80分以上的学生的学号、姓名Selectsno,snameFromstudentWheresdept='外语系'andsnoin(SelectsnoFromscWheregrade>80)查询计算机系测试成绩最高的学生的姓名.Selects1.snamefromstudentsWheresdept='计算机系’andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc)).删除选课成绩小于50分的学生的选课 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 .DeletefromscWheregrade<70Select*fromsc—验证.将所有选修了课程“C0T的学生的成绩加10分:UpdatescSetgrade=grade+10Wherecno='c01'.将计算机系所有选修了课程“计算机文化根底〞课程的学生的成绩加10分.Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname='计算机文化根底’).创立查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图.Select*fromcourseSelect*fromstudentsSelect*fromscCreateview学生根本信息AsSelectstudents.sno,sname,sdept,sco,cname,ccreditFromcourse,sc,studentsWherecourseo=scoAndsco=students.sno.创立查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩.Createviews_avgAsSelectsno,avg(Grade)as平均成绩fromscGroupbysno.创立查询每个学生的选课学分的视图,要求列出学生学号及总学分.CreateviewsscAs总学分fromSelectstudents.sno,sum(ccredit)asStudents,sc,courseWherestudents.sno=sc.snoAndsco=courseoGroupbystudents.sno.用SQL语句创立一个名为f_1的函数,该函数能够求生3到100之间的所有素数之和.Createfunctionf_1()ReturnsintAsBeginDeclare@aint,@bint,@iint,@sumintSet@i=3Set@sum=0While@i<101BeginSet@b=0While@a<=@i/2BeginIf@i%@a=0BeginSet@b=1BreakEndSet@a=@a+1EndIf@b=0--@b为0说明之前没有比@i小的数字可以把@i整除BeginSet@sum=@sum+@iEndSet@i=@i+1EndReturn@sumEndGoSelectdbo.f_1().用SQL语句创立一个名为f_2的函数,该函数能够求生任意两个数的最大值.Createfunctionf_2(@x1int,@x2int)returnsintAsBeginDeclare@maxintIf@x1>@x2Return@maxEndSelectdbo.f_2(2,6).用SQL语句创立一个名为pro_get_stu_information的存储过程,该存储过程能够根据用户指定的Sno(学号)求由与该学号对应的学生姓名、课程名、成绩.Createprocedurepro_get_stu_information@mchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents.sno=sc.snoandsco=courseoandsc.sno=@mExecpro_get_stu_information'0603002'.为“学生〞表创立一个依赖于“学号〞的唯一的、非聚集的索引Createuniquenonclusteredindexstu_intonstudents(sno).通过游标逐行读取“学生〞表的记录Declarestu_curcursorforSelect*fromstudentsforreadonlyOpenstu_curFetchstu_curClosestu_curDeallocatestu_cur
本文档为【SQL语句创建学生信息数据库表的示例(2)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:32KB
软件:Word
页数:8
分类:
上传时间:2018-05-18
浏览量:30