SQL语句创建学生信息数据库表的示例学生信息数据库表.docx
- 文档编号:8458184
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:9
- 大小:17.47KB
SQL语句创建学生信息数据库表的示例学生信息数据库表.docx
《SQL语句创建学生信息数据库表的示例学生信息数据库表.docx》由会员分享,可在线阅读,更多相关《SQL语句创建学生信息数据库表的示例学生信息数据库表.docx(9页珍藏版)》请在冰豆网上搜索。
SQL语句创建学生信息数据库表的示例学生信息数据库语句创建学生信息数据库表的示例学生信息数据库表表创作编号:
GB8878185555334563BT9125XW创作者:
凤呜大王*用SQL语句创建如下三个基本表:
学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取男或女Sage年龄整数取值1545Sdept所在院系字符串,长度为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创作编号:
GB8878185555334563BT9125XW创作者:
凤呜大王*学时整数取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit0),Semesterintcheck(Semester0),Periodintcheck(Period0)SC表结构列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码Cno课程号字符串,长度为10主码,引用Course的外码Grade成绩整数取值0100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno)1查询学生选课表中的全部数据。
SELECT*FROMSCgo2查询计算机系学生的姓名、年龄。
SelectSname,SageFromStudentWhereSdept=计算机系3查询成绩在7080分之间的学生的学号、课程号和成绩。
SelectSno,Cno,GradeFromCourse,ScWhereo=sc.Cnoandsc.Gradebetween70and804查询计算机系年龄在1820之间且性别为“男”的学生的姓名和年龄。
SelectSname,SageFromStudentWhereSagebetween18and20andSsex=男andSdept=计算机系go5查询课程号为“C01”的课程的最高分数。
Selecttop1Gradeselectmax(Grade)as最高分FromScfromSc创作编号:
GB8878185555334563BT9125XW创作者:
凤呜大王*WhereCno=C01whereCno=C01OrderbyGradedescorderbyGradedesc6查询计算机系学生的最大年龄和最小年龄。
Selectmax(Sage)as年龄最大,min(Sage)as年龄最小FromStudentWhereSdept=计算机系7统计每个系的学生人数。
Selectcount(Sdept)as学生人数,SdeptFromStudentGroupbySdept8统计每门课程的选课人数和考试最高分。
Selectcount(Sno)as选课人数,c.Sno,max(Grade)as最高分FromCoursecleftjoinScsono=s.CnoGroupbyc.Cno9统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。
Selectsno,avg(grade)as平均成绩,count(cno)as选课门数FromscGroupbysnoOrderbysno10查询总成绩超过200分的学生,要求列出学号、总成绩。
Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)20011查询选修了课程“C02”的学生的姓名和所在系。
Selectsname,sdeptFromstudents1,scs2Wheres1.sno=s2.snoando=c0212查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
Selects1.sname,o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade80Orderbygradedesc13查询哪些课程没有人选修、要求列出课程号和课程名。
Selecto,ameFromcoursecleftjoinscsono=oGroupbyo,ameHavingcount(s.sno)=014用子查询实现如下查询:
(1)查询选修了课程“C01”的学生的姓名和所在系。
Selectsname,sdept,snoFromstudentWheresnoin(SelectsnoFromscWherecno=c01)
(2)查询信息系成绩在80分以上的学生的学号、姓名。
Selectsno,snameFromstudentWheresdept=外语系andsnoin(SelectsnoFromscWheregrade80)(3)查询计算机系考试成绩最高的学生的姓名。
Selects1.snamefromstudentsWheresdept=计算机系andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc)15删除选课成绩小于50分的学生的选课记录。
DeletefromscWheregrade70Select*fromsc验证创作编号:
GB8878185555334563BT9125XW创作者:
凤呜大王*16将所有选修了课程“C01”的学生的成绩加10分:
UpdatescSetgrade=grade+10Wherecno=c0117将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。
Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname=计算机文化基础)18创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。
Select*fromcourseSelect*fromstudentsSelect*fromscCreateview学生基本信息AsSelectstudents.sno,sname,sdept,o,cname,ccreditFromcourse,sc,studentsWhereo=oAndo=students.sno19创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。
Createviews_avgAsSelectsno,avg(Grade)as平均成绩fromscGroupbysno20创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。
Createviews_scAsSelectstudents.sno,sum(ccredit)as总学分fromStudents,sc,courseWherestudents.sno=sc.snoAndo=oGroupbystudents.sno21用SQL语句创建一个名为f_1的函数,该函数能够求出3到100之间的所有素数之和。
Createfunctionf_1()ReturnsintAsBeginDeclareaint,bint,iint,sumintSeti=3Setsum=0Whilei101BeginSetb=0Whileax2ReturnmaxEndSelectdbo.f_2(2,6)23用SQL语句创建一个名为pro_get_stu_information的存储过程,该存储过程能够根据用户指定的Sno(学号)求出与该学号对应的学生姓名、课程名、成绩。
Createprocedurepro_get_stu_informationmchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents.sno=sc.snoando=oandsc.sno=mExecpro_get_stu_information060300224为“学生”表创建一个依赖于“学号”的唯一的、非聚集的索引Createuniquenonclusteredindexstu_intonstudents(sno)25通过游标逐行读取“学生”表的记录Declarestu_curcursorforSelect*fromstudentsforreadonlyOpenstu_curFetchstu_curClosestu_curDeallocatestu_cur创作编号:
GB8878185555334563BT9125XW创作者:
凤呜大王*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 语句 创建 学生 信息 数据库 示例