使用SQL_Server_Management_Studio创建学生选课数据库_第1页
使用SQL_Server_Management_Studio创建学生选课数据库_第2页
使用SQL_Server_Management_Studio创建学生选课数据库_第3页
使用SQL_Server_Management_Studio创建学生选课数据库_第4页
使用SQL_Server_Management_Studio创建学生选课数据库_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/*使用SQL Server Management Studio 创建学生选课数据库创建一个逻辑名为std_course的数据库,其存放路径为"d:data ”,物理文件名为 std_course.mdf ,初始大小为10MB最大值为100MB数据文件增长增量为5MB日志文件的逻辑名std_course_log的数据库, 其存放路径为"d:data ”,物理文件名为 std_course_log.ldf ,初始大小 为2MB最大值为20MB日志文件增长增率为20%*/gocreate database学生选课on primary(name='std_course&#

2、39;,平 tempstd_course.mdf', size=10MB,filegrowth=5MB, maxsize=100MB) log on (name='std_course_log',平 tempstd_course_log.ldf, size=2MB, filegrowth=20%, maxsize=20MB) go use学生选课gocreate table Student(sno char(8) primary key,sname nvarchar(20),sgender nchar(1),sdept nvarchar(10),sedat date)g

3、ocreate table course(o char(3) primary key,ame nvarchar(15),ccredit smallint)gocreate table sc(sno char(8),o char(3),grade numeric(4,1),primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno)goinsert into Studentvalues('2013100T,'王力','男&#

4、39;,'计算机','2013-09-11'),('20131002',' 红; 女。计算机,'2005-08-24'),('20132001',' 国庆',男',信息','2003-10-25'),('20132002',' 历亦其,男',信息','2004-08-12'),('20131003',' 王大伟,男,计算机,'2003-06-18'),('2

5、0132004', 历兰',女',数学','2005-06-4'),('20131004',' 王历离,女',信息','2002-09-15'),('20132005',' 历山; 男',数学','2001-06-13'),('20131005',' 力群',女',计算机','2002-01-13')select * from studentinsert into cour

6、se values('101','数据结构',4),('102', 数据库 ,3),('103','C语言程序设计 ,6),(104',DB_Design,2.5)select * from courseinsert into sc values(20131001,101,90),(20131001,102,76.1),(20131001,103,88.4),(20131001,104,69.5),(20131002,101,66.8),(20131002,103,57.4),(20132001,101,75.4)

7、,(20132001,103,78.4),(20132002,101,87.4),(20132002,102,80.2),(20132002,103,67.4),(20132002,104,77.4),(20132005,101,null),(20131004,103,null)select * from sc-1.查询全体学生的详细信息。-2.检索全体学生的学号、select * from studentselect sno,sname from student- -3.检索已选课程的课程号,要求显示的课程号不重复。select distinct。from sc- -4.查询全体学生的及其年

8、龄(提示:使用系统函数 getdate()获取当前日期)。select sname as '',YEAR(GETDATE()-YEAR(sedat) as ' 年龄'from student- -5.查询成绩大于80分的学生的学号、课程号及成绩。select sno as ' 学号',cno as ' 课程号',grade as '成绩'from sc where grade>80- -6.查询成绩介于7080分的学生的学号、课程号及成绩。select sno,cno,grade from sc where

9、grade between 70 and 80select sno,cno,grade from sc where grade>=70 and grade<=80-7.查询选修了课程号为“ 101”,且成绩大于80分的学生的学号。select sno from sc whereo='101' and grade>80- -8.查询“数据结构”和“ C语言程序设计”课程的详细信息。select * from course whereame='数据结构'orame='C 语言程序设计'select * from course whe

10、reame='数据结构'union select * from course whereame='C语言程序设计- -9.检索姓王的同学的详细信息。select * from student where sname like '王 '- -10.检索名字中第二个字是“力”或“历”的学生的详细信息。select * from Student where sname like '_历力%'- -11.查询全体学生的及其年龄,并按学生的年龄的降序排列。select sname,YEAR(GETDATE()-YEAR(sedat) as '

11、;sage' from Student order by sage desc- -12.查询学生总人数。select COUNT(*) as '总人数'from student-13.计算选修“101”号课程的学生平均成绩、最高分和最低分。select AVG(grade) as '平均成绩,MAX(grade)' 最高分',MIN(grade)' 最低分'from scwhereo='101'- -14.汇总总分大于200分的学生的学号及总成绩。select * from scselect sno as '

12、; 学号',SUM(grade) as ' 总成绩'from sc group by sno having SUM(grade)>200- -15.统计各个课程的选课人数。selecto as ' 课程号',COUNT(*) as '选课人数'from sc group byo- -16.检索多于2名学生选修的并以1结尾的课程号和平均成绩。selecto as ' 课程号',AVG(grade) as '平均成绩'from sc group byo having COUNT(*)>2 andol

13、ike '%1'-18查询以"DB_"开头,且倒数第3个字符为i的课程的详细情况。SELECT *FROM CourseWHERE Cname LIKE 'DB_%i_' ESCAPE ''- -19查询DB_Design课程的课程号和学分SELECT Cno,CcreditFROM CourseWHERE Cname LIKE 'DB_Design' ESCAPE ''- -实验三use学生选课;go-1.检索所有学生的选课信息,包括学号、课程号、课程名和成绩。select s.sno 学号,

14、s.sname ,o 课程号,ame 课程名,sc.grade 成绩from Student s join sc on s.sno=sc.snojoin course c on o=o语言程序设计年龄-2.查询选修了 “ C语言程序设计”的学生的学号和 select s.sno 学号,s.snamefrom sc join course c on o=o and ame='Cjoin Student s on s.sno=sc.sno- -3.查询与“红”在同一个系的学生学号、和所属系。select s.sno 学号,s.sname ,s.sdept 所属系from Student s

15、where s.sdept=(select sdeptfrom studentwhere sname='红')- -4.查询其它系中比信息系的所有学生年龄都大的学生的学号、和年龄select s.sno 学号,s.sname ,DATEDIFF(year,s.sedat,GETDATE() from Student swhere s.sdept<>' 信息'andDATEDIFF(year,s.sedat,GETDATE()>(select max(year(getdate()-year(sedat)from Studentwhere sdep

16、t='信息')- -5.查询比“王力”年纪大的男学生信息。select * from Studentwhere sgender=' 男'andDATEDIFF(year,sedat,GETDATE() >(select year(getdate()-year(sedat)where sname='王力')- -6.查询每个学生选修课程的课程号和学号,要求该选修课程的成绩超过他选修课程的平均成 绩。select sc.sno 学号,o 课程号from sc join (select sno,avg(grade)平均分 from sc grou

17、p by sno) sc1 onsc.sno=sc1.snowhere sc.grade>sc1. 平均分- -7.检索最高分与最低分之差大于10分的学生的学号、最高分和最低分。select sc.sno学号,max(grade) 最高分,min(grade)最低分from sc join (select sno,max(grade)-min(grade)最大分差 from sc group by sno)sc1 on sc.sno=sc1.snowhere sc1.最大分差>10group by sc.sno- -8.检索选修2门以上课程的学生的学号和总成绩(不统计不及格的课程)

18、,并要求按总成绩的 降序排列出来。select sc.sno 学号,sum(grade) 总成绩from scwhere grade>=60 andsc.sno in (select sno from sc group by snohaving count(*)>=2)group by sc.snoorder by sum(grade) desc- -9.查询选修了全部课程的学生学号和。select sno 学号,sname from Studentwhere sno in(select sno from scgroup by snohaving count(*)=(select count(*) from course)-10.查询至少选修了学生“ 20132001”选修的全部课程的学生的学号和。- -方法select sno 学号,snamefrom Studentwhere sno in(select distinct R1.snofrom sc R1where not exists(select S.cno from (selec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论