ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:17.21KB ,
资源ID:29835491      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29835491.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL语句创建学生信息数据库表的示例.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、SQL语句创建学生信息数据库表的示例用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取男或女Sage年龄整数取值1545Sdept所在院系字符串,长度为20默认为计算机系Create table Student( Sno varchar(7) primary key, Sname varchar(10) not null, Ssex char (2) check(Ssex=男or Ssex=女),

2、 Sage int check(Sage between 15 and 45), Sdept varchar(20) default(计算机系) Course表结构列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0Create table course( Cno varchar(10) primary key, Cname varchar(20) not null, Ccredit int check(Sctedit0), Semester int chec

3、k(Semester0), Period int check(Period0)SC表结构列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码 Cno课程号字符串,长度为10主码,引用Course的外码Grade成绩整数取值0100Create table SC( Sno varchar(7) foreign key references student(Sno), Cno varchar(10) foreign key references course(Cno), Grade int check(Grade between 0 and 100), Primary ke

4、y (Sno,Cno)1查询学生选课表中的全部数据。SELECT *FROM SCgo2查询计算机系学生的姓名、年龄。Select Sname,SageFrom StudentWhere Sdept=计算机系3查询成绩在7080分之间的学生的学号、课程号和成绩。Select Sno,Cno,GradeFrom Course,ScWhere o=sc.Cno and sc.Grade between 70 and 804查询计算机系年龄在1820之间且性别为“男”的学生的姓名和年龄。Select Sname,SageFrom StudentWhere Sage between 18 and 20

5、 and Ssex=男and Sdept=计算机系go5查询课程号为“C01”的课程的最高分数。Select top 1 Grade select max(Grade) as 最高分From Sc from ScWhere Cno=C01 where Cno=C01Order by Grade desc order by Grade desc6查询计算机系学生的最大年龄和最小年龄。Select max(Sage) as 年龄最大,min(Sage) as 年龄最小From StudentWhere Sdept=计算机系7统计每个系的学生人数。Select count(Sdept) as 学生人

6、数,SdeptFrom StudentGroup by Sdept8统计每门课程的选课人数和考试最高分。Select count(Sno) as选课人数,c.Sno,max(Grade) as最高分From Course c left join Sc s on o=s.CnoGroup by c.Cno9统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。Select sno,avg(grade) as 平均成绩,count (cno) as 选课门数From scGroup by snoOrder by sno10查询总成绩超过200分的学生,要求列出学号、总成绩。Select s

7、no,sum(grade)From scGroup by snoHaving sum(grade)20011查询选修了课程“C02”的学生的姓名和所在系。Select sname,sdeptFrom student s1,sc s2Where s1.sno=s2.sno and o=c0212查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。Select s1.sname,o,s2.gradeFrom student s1,sc s2Where s1.sno=s2.sno and grade 80Order by grade desc13查询哪些课程没有人选修、要求列出课

8、程号和课程名。Select o,ameFrom course c left join sc s on o=oGroup by o,ame Having count(s.sno)=014用子查询实现如下查询: (1)查询选修了课程“C01”的学生的姓名和所在系。Select sname,sdept ,snoFrom studentWhere sno in ( Select sno From sc Where cno=c01) (2)查询信息系成绩在80分以上的学生的学号、姓名。Select sno,snameFrom studentWhere sdept=外语系and sno in( Selec

9、t sno From sc Where grade80) (3)查询计算机系考试成绩最高的学生的姓名。Select s1.sname from studentsWhere sdept=计算机系 and sno in(select sno from scWhere grade in(select max(Grade)from sc)15删除选课成绩小于50分的学生的选课记录。Delete from scWhere grade70Select* from sc验证16将所有选修了课程“C01”的学生的成绩加10分:Update scSet grade=grade+10Where cno=c0117

10、将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。Select*from scUpdate scSet grade=grade+10Where cno in(select cno from courseWhere cname=计算机文化基础)18创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。Select* from courseSelect* from studentsSelect* from scCreate view 学生基本信息AsSelect students.sno,sname,sdept,o,cname,ccreditFrom course,s

11、c,studentsWhere o=oAnd o=students.sno19创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。Create view s_avgAsSelect sno,avg(Grade)as 平均成绩 from scGroup by sno20创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。Create view s_scAsSelect students.sno,sum(ccredit)as 总学分 fromStudents,sc,courseWhere students.sno=sc.snoAnd o=oGroup by students.sn

12、o21用SQL语句创建一个名为f_1的函数,该函数能够求出3到100之间的所有素数之和。Create function f_1()Returns intAsBeginDeclare a int,b int,i int,sum intSet i=3Set sum=0While i101Begin Set b=0 While ax2Return maxEndSelect dbo.f_2(2,6)23用SQL语句创建一个名为pro_get_stu_information的存储过程,该存储过程能够根据用户指定的 Sno(学号) 求出与该学号对应的学生姓名、课程名、成绩。Create procedure

13、 pro_get_stu_information m char(6) outputAsSelect sname,cname,grade from students,sc,courseWhere students.sno=sc.sno and o=o and sc.sno=mExec pro_get_stu_information060300224为“学生”表创建一个依赖于“学号”的唯一的、非聚集的索引Create unique nonclustered index stu_int on students(sno)25通过游标逐行读取“学生”表的记录Declare stu_cur cursor forSelect * from students for read onlyOpen stu_curFetch stu_curClose stu_curDeallocate stu_cur

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1