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

上传人:ylj18****70940 文档编号:73552036 上传时间:2023-02-19 格式:PDF 页数:9 大小:199.99KB
返回 下载 相关 举报
SQL语句创建学生信息数据库表的示例.pdf_第1页
第1页 / 共9页
SQL语句创建学生信息数据库表的示例.pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《SQL语句创建学生信息数据库表的示例.pdf》由会员分享,可在线阅读,更多相关《SQL语句创建学生信息数据库表的示例.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

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

4、e int check(Grade between 0 and 100),Primary key(Sno,Cno)1查询学生选课表中的全部数据。SELECT*FROM SC go|2查询计算机系学生的姓名、年龄。Select Sname,Sage From Student Where Sdept=计算机系 3查询成绩在 7080 分之间的学生的学号、课程号和成绩。Select Sno,Cno,Grade From Course,Sc Where=and between 70 and 80 4查询计算机系年龄在 1820 之间且性别为“男”的学生的姓名和年龄。Select Sname,Sage

5、From Student Where Sage between 18 and 20 and Ssex=男and Sdept=计算机系 go 5查询课程号为“C01”的课程的最高分数。Select top 1 Grade select max(Grade)as 最高分 From Sc from Sc:Where Cno=C01 where Cno=C01 Order by Grade desc order by Grade desc 6查询计算机系学生的最大年龄和最小年龄。Select max(Sage)as 年龄最大,min(Sage)as 年龄最小 From Student Where Sd

6、ept=计算机系 7统计每个系的学生人数。Select count(Sdept)as 学生人数,Sdept?From Student Group by Sdept 8统计每门课程的选课人数和考试最高分。Select count(Sno)as 选课人数,,max(Grade)as 最高分 From Course c left join Sc s on=Group by 9统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。Select sno,avg(grade)as 平均成绩,count(cno)as 选课门数 From sc Group by sno Order by sno 10

7、查询总成绩超过 200 分的学生,要求列出学号、总成绩。Select sno,sum(grade)From sc Group by sno Having sum(grade)200 11查询选修了课程“C02”的学生的姓名和所在系。Select sname,sdept From student s1,sc s2 Where=and=c02 12查询成绩在 80 分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。Select,From student s1,sc s2 Where=and grade 80【Order by grade desc 13查询哪些课程没有人选修、要求列出课程号

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

9、rade80)(3)查询计算机系考试成绩最高的学生的姓名。Select from students Where sdept=计算机系 and sno in(select sno from sc Where grade in(select max(Grade)from sc)15删除选课成绩小于 50 分的学生的选课记录。Delete from sc.Where grade70 Select*from sc验证 16将所有选修了课程“C01”的学生的成绩加 10 分:Update sc Set grade=grade+10 Where cno=c01 17将计算机系所有选修了课程“计算机文化基础

10、”课程的学生的成绩加 10 分。Select*from sc:Update sc Set grade=grade+10 Where cno in(select cno from course Where cname=计算机文化基础)18创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。Select*from course Select*from students】Select*from sc Create view 学生基本信息 As Select,sname,sdept,cname,ccredit From course,sc,students Where=And=19创建查

11、询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。%Create view s_avg As Select sno,avg(Grade)as 平均成绩 from sc Group by sno 20创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。Create view s_sc As Select,sum(ccredit)as 总学分 from Students,sc,course Where=And=Group by 21 用 SQL 语句创建一个名为 f_1 的函数,该函数能够求出3 到 100 之间的所有素数之和。Create function f_1()Returns

12、 int As Begin Declare a int,b int,i int,sum int Set i=3 Set sum=0 While i101 Begin Set b=0 While ax2 Return max End Select(2,6)23用 SQL 语句创建一个名为 pro_get_stu_information的存储过程,该存储过程能够根据用户指定的 Sno(学号)求出与该学号对应的学生姓名、课程名、成绩。Create procedure pro_get_stu_information m char(6)output As Select sname,cname,grade

13、 from students,sc,course Where=and=and=m Exec pro_get_stu_information0603002 24为“学生”表创建一个依赖于“学号”的唯一的、非聚集的索引 Create unique nonclustered index stu_int on students(sno)25通过游标逐行读取“学生”表的记录 Declare stu_cur cursor for Select*from students for read only Open stu_cur Fetch stu_cur Close stu_cur Deallocate stu_cur

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁