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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(SQL数据定义及查询习题课(给学生).doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

SQL数据定义及查询习题课(给学生).doc

1、 SQL 数据定义及查询习题课教案一、数据定义的练习:用 SQL语句创建数据库:STCreate DataBase ST;用 SQL语句创建如下三个基本表:学生表(Student)、课程表(Course) 、学生选课表(SC) ,结构如下所示Student表结构列名 说明 数据类型 约束Sno 学号 字符串,长度为 9 主码Sname 姓名 字符串,长度为20非空Ssex 性别 字符串,长度为 2 取男或女Sage 年龄 整数 取值 1545Sdept 所在院系 字符串,长度为20默认为CSCreate table Student(Sno varchar(9) primary key,Snam

2、e varchar(20) not null,Ssex char (2) check(Ssex=男or Ssex=女),Sage smallint check(Sage between 15 and 45),Sdept varchar(20) default(CS)Course表结构列名 说明 数据类型 约束Cno 课程号 字符串,长度为 4 主码Cname 课程名 字符串,长度为40非空Ccredit 学分 整数 取值大于 0Semester 学期 整数 取值 1到 8Period 学时 整数 取值大于 0Create table course(Cno varchar(4) primary

3、key,Cname varchar(40) not null,Ccredit smallint check(Ccredit 0),Semester smallint check(Semester between 1 and 8),Period smallint check(Period0)SC表结构列名 说明 数据类型 约束Sno 学号 字符串,长度为 9主码,引用 Student. Sno的外码Cno 课程号 字符串,长度为 10主码,引用 Course. Cno的外码Grade 成绩 整数 取值 0100Create table SC(Sno varchar(9) foreign key

4、references student(Sno),Cno varchar(4) foreign key references course(Cno),Grade smallint check(Grade between 0 and 100),Primary key (Sno,Cno)二、输入数据以上三表具体数据参考教材 P82,COURSE 表的 Semester、Period 数据在允许范围自行确定,SC 表应根据后面各种查询情况适当增加学生选课记录。输入数据时,可以从管理平台可视化录入,也可以用 INSERT 命令插入。三、数据查询的练习1查询学生选课表中的全部数据。SELECT *FROM

5、 SC 2查询计算机系学生的姓名、年龄。Select Sname,SageFrom StudentWhere Sdept=CS3查询成绩在 7080 分之间的学生的学号、课程名和成绩。Select Sno,Cname,GradeFrom Course,ScWhere o=sc.Cno and sc.Grade between 70 and 804查询计算机系年龄在 1820 之间且性别为“男”的学生的姓名和年龄。Select Sname,SageFrom StudentWhere Sage between 18 and 20 and Ssex=男and Sdept=CS5查询课程号为“1”的课

6、程的最高分数。Select top 1 Grade From Sc Where Cno=1 Order by Grade desc或select max(Grade) as 最高分 from Scwhere Cno=16查询计算机系学生的最大年龄和最小年龄。Select cs 系, max(Sage) as 年龄最大,min(Sage) as 年龄最小From StudentWhere Sdept=CS7统计每个系的学生人数。Select Sdept, count(Sdept) as 学生人数 From StudentGroup by Sdept8统计每门课程的选课人数和考试最高分。Selec

7、t o ,count(s.Sno) as 选课人数, 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 sno,sum(grade)From scGroup by snoHaving sum(grade)20011

8、查询选修了 “2” 号课程的学生的姓名和所在系。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查询哪些课程没有人选修、要求列出课程号和课程名。Select o,ameFrom course c left join sc s on o

9、=oGroup by o,ame Having count(s.sno)=014用子查询实现如下查询:(1)查询选修了“2”号课程的学生的姓名和所在系。Select sname,sdept From studentWhere sno in (Select sno From scWhere cno =1) (2)查询计算机系成绩在 80分以上的学生的学号、姓名。Select sno,snameFrom studentWhere sdept=CS and sno in(Select snoFrom scWhere grade80)(3)查询计算机系考试成绩最高的学生的姓名。Select sname

10、 from student,sc Where student.sno=sc.sno and grade=(select max(Grade) from sc,student where student.sno=sc.sno and student.sdept=CS)15 查询学生 200215122 没有选修的那些课程SELECT *FROM Course c WHERE NOT EXISTS(SELECT *FROM SCWHERE SC.Sno=200215122 AND SC.Cno=C.Cno)16 查询所有已经选课的学生姓名、选修的课程名及成绩。 SELECT student.sna

11、me, ame, sc.grade From student join sc on student.sno = sc.sno join course on o = o或SELECT student.sname, ame, sc.grade From student,sc,course Where student.sno = sc.snoAnd o = o17查询所有的学生姓名、选修的课程名及成绩。SELECT student.sname, ame, sc.grade From (student left join sc on student.sno = sc.sno )left join course on o = o18查询选修了“数据库”课程的学生姓名。 SELECT sname FROM student WHERE sno IN (SELECT sno FROM scWHERE cno IN (SELECT o FROM sc,course WHERE cname=数据库 and o=o);SELECT sname FROM student s,sc, course cWHERE s.sno =sc.sno and So =o and ame=数据库;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。