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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库基础与应用复习一讲课讲稿.docx

1、数据库基础与应用复习一讲课讲稿数据库基础与应用复习(一)必须要熟悉书上的两个数据库实例1. 教学库:包括学生、课程和选课三个基本表它们的定义分别为:学生(学生号 char(7),姓名 char(6),性别 char(2), 专业 char(10)课程(课程号 char(4),课程名 char(10),课程学分 int)选课(学生号 char(7),课程号 char(4),成绩 int)学生表:学生号姓名性别专业0101001王明男计算机0102005刘芹女电子0202003张鲁男电子0303001赵红女电气0304006刘川男通信课程表:课程号课程名课程学分C001C+语言4C004操作系统3

2、E002电子技术5X003信号原理4选课表:学生号课程号成绩0101001C001780101001C004620102005E002730202003C001940202003C004650202003X003800303001C001760304006E002722. 商品库:包括商品表1和商品表2两个基本表它们的定义分别为:商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int) 商品表2(商品代号 char(8),产地 char(6),品牌 char(6)商品表1:商品代号分类名单价数量DBX-134电冰箱14568DSJ-120电视机186515D

3、SJ-180电视机207310DSJ-340电视机37265KTQ-12空调器280012WBL-6微波炉64010XYJ-13洗衣机46820XYJ-20洗衣机87312商品表2:商品代号产地品牌DBX-134北京雪花DSJ-120南京熊猫DSJ-180南京熊猫DSJ-340北京牡丹KTQ-12无锡春兰WBL-6青岛海信XYJ-13无锡小天鹅XYJ-20山西海棠根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能1select x.商品代号,分类名,数量,品牌from 商品表1 x,商品表2 ywhere x.商品代号=y.商品代号从商品库中查询出每一种商品的

4、商品代号、分类名、数量和品牌等信息2select distinct 产地from 商品表2从商品库中查询出所有商品的不同产地3select distinct 品牌from 商品表2从商品库中查询出所有商品的不同品牌4select count(distinct 产地) as 产地数from 商品表2从商品库中查询出所有商品的不同产地的总数5select x.商品代号,分类名,产地,品牌from 商品表1 x,商品表2 ywhere x.商品代号=y.商品代号 and (品牌=熊猫 or 品牌=春兰)从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌等信息6select 学生

5、.学生号,count(*) as 选课门数from 学生,选课where 学生.学生号=选课.学生号group by 学生.学生号从教学库中查询出每个学生的选课门数7select 课程.课程号,课程.课程名,count(*) as 选课人数from 课程,选课where 课程.课程号=选课.课程号group by 课程.课程号,课程.课程名从教学库中查询出每门课程的选课学生数8select distinct x.* from 学生 x,选课 y,选课 z where y.学生号=z.学生号 and y.课程号z.课程号 and x.学生号=y.学生号从教学库中查询出至少选修了两门课程的全部学生

6、9select *from 学生where 学生号 in (select 学生号 from 选课 group by 学生号 having count(*)=1)从教学库中查询出只选修了一门课程的全部学生10select x.学生号,y.学生号,y.课程号from 选课 x,选课 ywhere x.学生号=s1 and y.学生号=s2 and x.课程号=y.课程号注:一个由字母开头的标识符再加上字符前缀,则表示为一个变量,假定已保存着一个相应值。从教学库中查询出学生号为s1的学生和学生号为s2的学生所选修的共同课程的课程号11select x.*from 课程 x,选课 ywhere x.课

7、程号=y.课程号 and y.学生号=s1and y.课程号 not in (select 课程号 from 选课 where 选课.学生号=s2)从教学库中查询出学生号为s1的学生所选修、而学生号为s2的学生没有选修的全部课程12select *from 课程where not exists (select * from 选课 where 课程.课程号=选课.课程号)从教学库中查询出所有未被学生选修的课程13select *from 课程where exists (select * from 选课 where 课程.课程号=选课.课程号)从教学库中查询出所有已被学生选修的课程14select

8、 *from 课程where exists (select 课程号 from 选课 where 课程.课程号=选课.课程号 group by 课程号 having count(*) between 2 and 4)从教学库中查询出被2至4名学生选修的所有课程15select *from 学生where exists (select * from 选课 where 学生.学生号=选课.学生号 group by 选课.学生号 having count(*)=3)从教学库中查询出同时选修了3门课程的全部学生16select *from 学生where 学生号 in (select 学生号 from

9、选课 group by 学生号 having count(*)103从商品库中查询出数量在10和20之间的所有商品。select * from 商品表1where 数量 between 10 and 20 (或where 数量=10 and 数量=2000 or 数量=158从商品库中查询出比所有电视机的单价都高的每种商品。select *from 商品表1where 单价all(select 单价 from 商品表1 where 分类名=电视机)或select * from 商品表1where 单价all(select max(单价) from 商品表1 where 分类名=电视机)9从商品

10、库中查询出比所有商品单价的平均值要高的全部商品。select * from 商品表1where 单价all(select avg(单价) from 商品表1)10从商品库中查询出数量最多的一种商品。select * from 商品表1where 数量=some(select max(数量) from 商品表1)11从商品库中查询出同一类商品多于一种的所有分类名。select distinct 分类名from 商品表1group by 分类名 having count(*)112从商品库中查询出同一产地的商品只有一种的所有商品。select 商品表1.*,产地from 商品表1,商品表2wher

11、e 商品表1.商品代号=商品表2.商品代号 and 产地 in (select 产地 from 商品表1 x,商品表2 y where x.商品代号=y.商品代号 group by 产地 having count(*)=1)13从商品库中查询出每种商品的总价值,并按降序排列出来。select *,单价*数量 as 总价值from 商品表1order by 总价值 desc 14从教学库中查询出至少有两名学生所选修的全部课程。select distinct x.* from 课程 x,选课 y,选课 zwhere y.课程号=z.课程号 and y.学生号z.学生号 and x.课程号=y.课程

12、号或:select * from 课程where 课程号 in (select 课程号 from 选课 group by 课程号 having count(*)=2)15从教学库中查询出至少选修了姓名为m1学生所选课程中一门课的全部学生。select distinct 学生.* from 学生,选课where 学生.学生号=选课.学生号 and 课程号=any(select 课程号 from 学生,选课 where 学生.学生号=选课.学生号 and 姓名=m1 )16从教学库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。select 课程.课程号,课程名

13、,count(课程.课程号) as 人数from 课程,选课where 课程.课程号=选课.课程号group by 课程.课程号,课程名order by 人数写出下列每条语句或程序段的功能假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。1SELECT * FROM StudentsWHERE DATEPART(year,入学日期) =DATEPART(year,GE

14、TDATE()从Students表中查询出所有当年(系统时间)入学的学生记录。2DECLARE MyNO CHAR(8)SET MyNO=20030001IF (SELECT 专业 FROM Students WHERE 学号=MyNO)=计算机软件 BEGIN SELECT AVG(成绩) AS 平均成绩 FROM Score WHERE 学号=MyNO ENDELSE PRINT 学号为 +MyNO+的学生不存在或不属于软件专业GO首先定义一个名为MyNo的局部变量,并给它赋初值,如果MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为MyNo的学生不存在或不属于软件专业”。3d

15、eclare a numeric(5,2)set a=(select avg(成绩) from score)select *from scorewhere 成绩=a从score表中查询出成绩大于等于平均成绩的所有记录。4declare a numeric(5,2),b numeric(5,2)set a=(select max(成绩) from score)set b=(select min(成绩) from score)print a-b求出score表中最高成绩与最低成绩的分数之差。5declare a char(6)set a=刘亮if(exists(select * from stud

16、ents where 姓名=a) print 姓名为+a+的同学存在!else print 姓名为+a+的同学不存在!从students表中查询姓名为a的值(即“刘亮”)的同学是否存在,根据不同情况显示出相应信息。6declare a char(8)set a=计算机select 计算机专业人数=count(*)from studentswhere left(专业,3)=a从students表中统计出专业名开头为a的值(即“计算机”)的所有学生人数。7select year(入学日期) as 入学年份,count(*) as 人数from studentsgroup by year(入学日期)

17、从students表中分组统计出每个年份入学的学生人数。8select month(入学日期) as 入学月份,count(*) as 人数from studentsgroup by month(入学日期)从students表中分组统计出每个月份入学的学生人数。9select day(入学日期) as 入学日号,count(*) as 人数from studentsgroup by day(入学日期)从students表中分组统计出每个日子入学的学生人数。10create procedure xxk1asbegin select * from students x,score y where

18、x.学号=y.学号end显示出AAA库中所有学生的记录信息及选课成绩11.create procedure xxk2asbegin select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号 group by x.学号,x.姓名,x.专业end显示出AAA库中每个学生的学号、姓名、专业等信息及选课门数12.create procedure xxk3asbegin select 学号,avg(成绩) as 平均成绩 from score group by 学号end显示出AAA库中每个学生的平均成绩13

19、.create procedure xxk4( a char(8),b varchar(10),c numeric(5,2)asbegin update score set 成绩=c where 学号=a and 课程名=bend修改score表中学号为a的值、课程名为b的值的学生的成绩为c的值。14.create procedure xxk5(a char(8),b varchar(10),c numeric(5,2)asbegin insert into score values(a,b,c)end向score表中插入学号为a的值、课程名为b的值、成绩为c的值的学生成绩记录。15.crea

20、te procedure xxk6(a char(8),b varchar(10)asbegin delete from score where 学号=a and 课程名=bend从score表中删除学号为a的值、课程名为b的值的学生成绩记录。16.declare a char(8),b varchar(10),c numeric(5,2)declare d intset d=0declare xxx cursorfor select 学号,课程名,成绩 from scoreopen xxxfetch xxx into a,b,cwhile fetch_status=0begin set d=

21、d+1 fetch from xxx into a,b,cendclose xxxdeallocate xxxprint d从score表中统计并显示出记录总数17.declare a char(8),b varchar(10),c numeric(5,2)declare xxx cursorfor select 学号,课程名,成绩 from scoreopen xxxfetch xxx into a,b,cwhile fetch_status=0begin print a+replicate( ,3)+b+str(c)+replicate( ,3) +(case when c=90 then

22、 优秀 when c=70 then 良好 when c=60 then 及格 else 不及格 end) fetch from xxx into a,b,cendclose xxxdeallocate xxx显示出score表中每个成绩记录,并根据具体成绩在每条记录最后给出优秀、良好、及格、不及格等相应等级。18.declare c numeric(5,2)declare c1 int, c2 int, c3 int, c4 intset c1=0; set c2=0; set c3=0; set c4=0declare xxx cursorfor select 成绩 from scoreo

23、pen xxxfetch xxx into cwhile fetch_status=0begin if(c=90) set c1=c1+1; else if(c=70) set c2=c2+1; else if(c=60) set c3=c3+1; else set c4=c4+1 fetch from xxx into cendclose xxxdeallocate xxxprint 优秀生人数:+str(c1,5);print 良好生人数:+str(c2,5);print 及格生人数:+str(c3,5);print 及格生人数:+str(c4,5)从score表中按成绩统计并显示出优秀、

24、良好、及格、不及格各多少人。19.declare a char(8),b varchar(10)declare c numeric(5,2)declare d intset d=80declare xxx cursorfor select 学号,课程名,成绩 from scoreopen xxxfetch xxx into a,b,cwhile fetch_status=0begin if(c=d) print a+replicate( ,3)+b+str(c,5) fetch from xxx into a,b,cendclose xxxdeallocate xxx显示出score表中成绩大于等于d值的所有记录。20.declare a char(8),

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

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