第一篇:高一信息技术 数据的查询教案
高一信息技术 数据的查询教案
I.课题名称
数据的查询
II.教学目标、通过创建和运行查询,学会对数据进行查找、筛选和排序
2、掌握创建查询的一般过程
3、体验数据检索的基本过程,了解数据检索的原理和优势
4、培养学生的信息(数据)处理能力,增强对本门课程的学习兴趣
III.重难点分析
(1)教学重点:
根据任务需求,创建满足条件的查询
(2)教学难点:
①查询与表的区别
在Access中,将表及查询视为同类型的对象,因为一个数据库中的表及查询的名称是不可以重复的。表负责保存记录,而查询负责取出记录,它们都可以将记录以表格的形式显示在屏幕上。查询的内容是动态的,它会随着基本表内容的变化而变化。
②约束条件的设定(“准则”的设置)
IV.教学策略
利用网络教室,从学生熟悉的数据查询要求引入课题,设置合理的问题和引导学生从实际的数据表出发,自主地分析问题,借助教师提供的教学资源,探究性地解决问题。
以任务驱动、问题解决为线索,引导学生在完成任务的过程中学习查询的使用,又在任务完成的基础上引出新的问题,学习新的方法。另外在提出问题和布置任务时要注重渐进性、层次性,在学生自主探究学习的同时,教师适时对典型的操作过程进行演示和指导,并对常见的错误做出纠正,对学生完成学习任务的情况及时反馈和及时评价。
V.授课班级
高一(6)班
VI.教学环境
网络教室
VII.教学过程
教学过程
设计意图
一、问题引入
老师:请大家思考一问题并回答,如果对“参赛作品表”进行数据筛选,在筛选结果中只显示所有参赛作品对应的作品类别和获奖等级,能否得到满意的答案?如果不行,有何办法?
学生:(观看屏幕并回答)。
老师:是的,我们会发现使用筛选并不能达到要求,那我们将通过今天的学习——数据的查询来解决这些问题。通过本节课的学习,我们将了解到什么是查询,什么时候使用查询,创建查询的过程是怎样的。
开门见山、承前启后。通过问题引导学生回顾所学知识,激发学生的求知欲,导入新课。
二、新课学习
.演示讲授
老师:围绕课本第一个学习任务,剖析例子。适时演示操作过程,根据创建查询的一般步骤,详细分析操作流程。
学生:认真观摩并听取老师的讲解,仔细比较与筛选功能的区别。
2.完成学生任务一
老师:引导学生浏览学习任务,尝试完成任务一:查找所有作品的作者、所在学校和联系电话。并思考问题,若将表间的关系删除,再运行查询,查询的结果是否会有所不同?
观察学生操作情况,回答学生疑问,适时演示操作过程,纠正错误。及时对学生的操作作出反馈和评价。
学生:根据学习任务,尝试建立查询一,并运行查询,观看结果是否符合要求。在建立查询一时,要严格按照创建查询的整个过程。如碰问题及时向老师或同学请教。
3.完成学生任务二
老师:引导学生浏览学习任务,尝试完成任务二:找出获得一等奖作品的作者、所在学校和联系电话。让学生注意任务二与任务一的要求有何不同,要求不同对结果有何影响。并根据结果,提出新的问题:如何对查询二的记录进行排序?观察学生操作情况,回答学生疑问,适时演示操作过程,纠正错误。
学生:根据学习任务的操作指导,设置查询条件时,要在“准则”部分中输入条件,尝试对查询二的结果进行排序,并运行查询。进行排序时,如何确定字段的排序方式,要注意观察学习资料和教师的演示操作。
4.完成学生任务三
老师:引导学生浏览学习任务,尝试完成任务三:分别找出获得一、二、三等奖作品的作者、所在学校和联系电话。注意如何设置查询条件?建立查询三时,所需字段与查询二相同,只是查询条件不同,只要修改条件即可达到目的。但每次都要修改比较麻烦,如何在查询时随时输入条件,得到相应结果呢?观察学生操作情况,回答学生疑问,适时演示操作过程,纠正错误。
学生:根据学习任务的操作指导,选取最优的方法,尝试使用设计视图建立查询三。
在设置“准则”时,输入“[请输入获奖等级:]”,即可在运行时弹出对话框,提示输入获奖等级,完成查询。
5.拓展提高
引导学生,尝试完成以下问题:、如何查询作品得分大于等于80分的作者名称?
2、如何统计每个作品类别的参赛学校名称?
由易及难、由浅入深。建立单一表查询,初步建立查询的感性认识。通过与筛选的比较,突出查询的功能优势。
使用设计视图建立查询一,使学生熟悉操作过程。然后再建立多表查询,就水到渠成了。在进行多表查询时这些表必须建立关联。
增加查询的条件,引出“准则”的设置,对查询的结果显示不满意,让学生掌握如何从运行结果的数据视图中回到设计视图对结果进行排序设置,介绍排序方法,变无序为有序。
提出类似问题,引导学生考虑简单的方法,使用参数查询解决问题。从特殊到一般,解决了一类问题。
对于学有余力的学生,提出更高要求,使其思维更活跃、激发学习兴趣。
三、小结归纳
对本节课主要学习内容作出总结,帮助学生理清思路,巩固提高。分析学生的典型错误,作出反馈和评价。
通过对数据库的查询操作,学生可以感受到利用数据库进行存储、管理大量数据具有能实现高效率检索等方面的优势,鼓励同学们进一步提高数据库操作技能。
学生在教师的分析后,总结自己在学习中存在的问题和错误,争取在下次的操作中自己克服难题并得到提高。
四、板书设计
、什么是查询
在数据库中查找出满足条件的记录项
2、创建查询的一般过程
选择查询字段—>确定字段所在的表-->设定约束条件-运行、保存
3、查询的类别)单表查询
2)多表查询
3)参数查询
三种查询又都称为选择查询
小结点拨、渐入佳境。通过小结反思,提高认识。
VIII.教学反思
本节课内容比较多,比较杂,有的知识点须留给学生课余时间学习,有的可一提就过,重难点要掌握的对数据表进行查询,则通过演示、实践、讨论的形式加深学生的印象。这样设计本课,从教学效果来看,能够较好的完成教材安排的内容,有详有略、有主有次的教学设计也可使学生减少学习负担,学习兴趣浓厚,不仅加深对本节课重、难点知识的掌握,还能够激发学生积极回答问题,不能输给对方的竞争意识和协作精神,取得较好的效果。
通过演示对数据库的查询操作,学生可以感受到利用数据库进行存储、管理大量数据具有能实现高效率检索等方面的优势,鼓励同学们进一步提高数据库操作技能。学生在教师的分析后,总结自己在学习中存在的问题和错误,争取在下次的操作中自己克服难题并得到提高。
另外,层层深入,步步推进是本堂课的另一个亮点。这样设置可以帮助学生快速融入课堂,突破教学难点。最后让学生进行自我总结、自我归纳、自我检验学习,突出了学生的主体地位,同时锻炼了学生的表达能力。
存在问题:整体学生水平存在差异,导致时间比较难以控制;该放给学生阅读、自学的地方还不够放得开,以后可以大胆尝试,让学生多锻炼自主学习的能力;个别同学上课不专心,老师没能及时纠正。可设置一些趣味活动,让更多的学生参与进来,使学生真正成为学习的主体。
第二篇:高一信息技术教案
《信息及其特征》教学设计方案
一、概述
本章我们将了解到有关信息和信息技术的基础知识,为本门课程的学习做好必要的准备。本章内容简短精炼,需要我们结合实践活动区用心体验和领会。自从有了人类,信息技术便成为人类生存与发展的一个基本条件和重要手段,特别是计算机和因特网等现代信息技术的日益普及,所以学习和使用好信息技术,将有助于我们更好地适应现在与未来的社会。
这节内容更深层次的去理解信息是什么,为后面内容打好基础。
二、教学目标
1.知识、技能目标:
(1)能够将信息与生活学习联系在一起,感受到信息的丰富多彩性。(2)真正理解信息的一般特征。
(3)培养学生分析问题、解决问题的能力。2.过程、方法目标:
(1)让学生学会从生活、学习中发现及归纳新知识。提高观察、分析、判断的思维能力,掌握收集有效信息的方法。
(2)通过教师的引导,让学生独立思考或者小组讨论,自主地,深刻地理解所学内容。
3.情感态度与价值观目标:
(1)让学生理解信息技术在日常生活和学习的体现;(2)激发学生对信息技术的好奇及学习的积极性。
三、学习者特征分析
1.学习特点
学习对象为高一学生,对计算机等现代信息技术有着浓厚的学习兴趣和基本的操作技术,但计算机操作熟练程度不一,对信息的认识较为表面,学习资源利用和知识信息的获取、加工、处理与综合能力较低。
2.学习习惯
高一学生知识面较狭隘,习惯于教师传道授业解惑这种被动接受式的传统教学,缺乏独立发现和自主学习能力。3.学习交往
高一学生在新的学习环境中,学习交往表现为个别化学习,课堂上群体性的小组交流与协同讨论学习机会很少。
四、教学重难点
1.难点:对信息特征的认识。2.重点:信息的含义及特征。
五、教学策略选择
支架式教学策略、引导式教学策略、合作学习教学策略。
六、教学环境及资源
1.教学环境:能上Internet的多媒体网络教室。2.学习资源:
《信息技术资源》,专题学习网站、多媒体教学课件、网络课程。
七、教学过程
1.【新课引入】:(讨论法)
同学们,今天我们要学习的是信息,那大家知道什么是信息吗?在我们日常生活中,你认为哪些属于信息?老师先给出一些引导,激发学生的思考,让学生结合实际去理解什么是信息。
比如:
观看运动会,可以获得很多运动员及赛事状况的信息。看到红绿灯变换,行人或者司机知道该走还是该停 看到花都开了,小草也变绿了,我们知道春天到了 医生通过听诊器可以感知我们身体内部的变化。
2.【新课教学】:(讲授法及讨论法)
①通过举例,我们知道,在我们日常生活中,信息无时不在,无处不有。因此我们可以说信息是指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。这时可以通过PPT展示一些图片,文字,播放一段音乐或者视频,进一步表明:信息是用文字、数字、符号、图像、图形、声音、情景、状态等方式传播的内容。同时也通过视频音乐激发学生的学习兴趣。②小组合作,分析书上的图片中可以获得哪些信息,进行小组竞赛。③进入下一个知识点:了解的信息的定义,那它具有什么特性呢?(1)载体依附性。信息不能独立存在,需要依附于一定的载体; 同一个信息可依附于不同的媒体;载体的依附性具有可存储、可传递、可转换特点。
比如说,我们之间交流可以通过说话或者发送qq消息,我们听的音乐是下载在内存里的。那同学们还可以举出什么例子吗?(运动会开幕式通过视频来传播,我们学的知识印刷在书本上)。
(2)价值性。信息不能直接提供给人们物质需要,体现在两方面: ① 能满足人们精神生活的需要:比如我们看视频,看新闻,丰富业余生活。②信息可以促进物质、能量的生产和使用:利用GPS获取准确的方位信息实现导弹的精确制导。并且信息可以增值:
比如我们对咱班的每次考试成绩进行整理分析,就可以更好的了解咱班同学的学习情况,因材施教。信息只有被人们利用,才有价值。
(3)时效性。先举例,让学生总结:我想去看运动会开幕式,学校通知八点开始,我十点才看到消息,因为错过了消息发布的时间导致我没看到开幕式,这体现了信息的什么性质呢?对,这就是信息的时效性。
信息往往反映的是事物某一特定时刻的状态,会随着时间的推移而变化。比如交通信息,股份信息,天气预报,会议通知,求职报名,放一些相应的图片,吸引学生的注意力。
(4)共享性。学校通知八点开始运动会开幕式,这是同学们都可以收到的,所以说,信息是具有共享性的。
④.课堂小结
这节课我们学习了信息的含义,信息是用文字、数字、符号、图像、图形、声音、情景、状态等方式传播的内容。还知道了信息的四个特性:载体依附性,价值性,时效性,共享性。希望同学们结合生活,深刻理解这些概念。
⑤.课后作业
下去之后,希望同学们结合这节课的知识,想一想现在的信息技术是怎样的,经历了哪些变化呢?
八.教学评价设计
教学内容的设计遵循了中学教育的理念,将理论知识与生活实际结合,利用多媒体课件激发学生兴趣,引导学生思考,变抽象为具体,突破教学重难点。中学生对于信息技术是比较好奇的,于是,在教学设计时,根据学生的认知特点,恰当地提出讨论的问题,并创设了师生互动、生生互动、合作学习的情境,引导学生通过合作,寻找并理解知识点。这样,既有效地促进了学生参与到教学活动中,并进行主动学习和自主建构知识,又能充分发挥教师的指导作用。
教学过程流程图
开始举例引导,提问,引入课题网络浏览相关的图片视频,讨论自主思考或者小组讨论,举例什么是信息总结信息含义网络分组协作讨论引发与启发总结信息特征归纳总结,得出结论课堂小结是否掌握N补充说明Y课后作业结束
第三篇:查询数据论文网站
中文科技期刊数据库
《中 文科技期刊数据库》是我国收录期刊最多、年限最长、专业文献量最大的中文期刊数据库。该库自推出就受到国内图书情报界的广泛关注和普遍赞誉,目前已拥有包 括港澳台地区在内2000余家固定单位用户,是我国数字图书馆建设的核心资源之一,高校图书馆文献保障系统的重要组成部分,也是科研工作者进行科技查证和 科技查新的必备数据库。中国期刊全文数据库
该 库是目前世界上最大的连续动态更新的中国期刊全文数据库,收录国内9100多种重要期刊,以学术、技术、政策指导、高等科普及教育类为主,同时收录部分基 础教育、大众科普、大众文化和文艺作品类刊物,内容覆盖自然科学、工程技术、农业、哲学、医学、人文社会科学等各个领域,全文文献总量3252多万篇。
清华同方学术期刊网
中国最大的数据库,内容较全。收录了5000多种中文期刊,1994年以来的数百万篇文章,并且目前正以每天数千篇的速度进行更新。阅读全文需在网站主页下载CAJ全文浏览器。万方数据库
万 方数据库是由万方数据公司开发的,涵盖期刊,会议纪要,论文,学术成果,学术会议论文的大型网络数据库。也是和中国知网齐名的中国专业的学术数据库。开发 公司——万方数据股份有限公司是国内第一家以信息服务为核心的股份制高新技术企业,是在互联网领域,集信息资源产品、信息增值服务和信息处理方案为一体的 综合信息服务商。超星数字图书馆
超 星数字图书馆成立于1993年,是国内专业的数字图书馆解决方案提供商和数字图书资源供应商。超星数字图书馆,是国家“863”计划中国数字图书馆示范工 程项目,2000年1月,在互联网上正式开通。它由北京世纪超星信息技术发展有限责任公司投资兴建,目前拥有数字图书八十多万种。为目前世界最大的中文在线数字图 书馆,提供大量的电子图书资源提供阅读,其中包括文学、经济、计算机等五十余大类,数十万册电子图书,300 万篇论文,全文总量 4亿余页,数据总量30000GB,大量免费电子图书,并且每天仍在不断的增加与更新。
维普
http://www.xiexiebang.com/ 城市规划学刊http://www.xiexiebang.com/
城市交通http://www.xiexiebang.com/
第四篇:《数据的查询操作》
第八次作业1
1.检索年龄大于18岁的女学生的学号和姓名(注意:要给列起别名);use 学生课程数据库
select sno ,sname
from studentwhere sage>18 and ssex='女'
2.检索所有男学生选修的课程号和课程名称(仅在结果中列出10%的数据行)。use 学生课程数据库
select top(10)percent course.cno,cname
from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno and ssex='男'
3.查询年龄大于18,并不是信息管理也不是计算机科学的学生的姓名和性别(复合查询);
select sname,ssex
from studentwhere sage>18 and sdept not in('信息管理','计算机科学')
4..查询以“DB_”开头,和倒数第二个汉字为“导”字的课程信息(模糊查询);select *
from course
where cname like 'DB_%' or cname like '%导_'
5.查询student表和sc表的交叉连接;
select *
from student cross join sc
6.检索王同学不学的课程的课程号和课程名称;
select cno,cname
from course
where cno not in(select cno from sc where sno in(select snofrom student
where sname='王%'))
7.检索全部学生都选修的课程号和课程名称;
SELECT cno,cname
FROM course
WHERE NOT EXISTS
(SELECT *FROM student
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE SC.Sno= Student.Sno AND SC.Cno= Course.Cno))
8.检索所有课程的成绩均高于90分的学生的姓名和年龄;
select sname, sage
from student
where sno in
(select sno
from sc
group by sno
having MIN(grade)>90)
go
9.求刘老师所授的每门课程的平均成绩;
select cno,AVG(grade)
from sc
where cno in(select cno from course where cname in(select job from
teacher
where ename like '刘%'))
Group by cno
10.求年龄大于所有女同学的男学生的姓名和年龄
select sname,sage
from student
where sage> all(select sage from student where ssex='女')and ssex='男'
11.求每个学生的总分,要求输出学号和总分数(要求依然保持学生原有的明细分数,并按学号分组汇总)
select sno,grade
from sc
order by sno
COMPUTE SUM(grade)by sno
12.查询各不同平均成绩所对应的学生人数(要求显示各组的单项人数)
select avgr,COUNT(*)
from(select sno,AVG(grade)from sc
group by sno)as sg(sno,avgr)GROUP BY avgr
13.查询年龄小于18岁和大于20岁的学生的所有信息(要求用并运算实现union);select *
from student
where sage<18
union
select *
from student
where sage>20
14.查询即选修了‘1001’号课程有选修了‘1003’号课程的学生的学号(要求用用交运算实现intersect);
select sno
from sc
where cno='1001'
intersect
select sno
from scwhere cno='1003'
15.查询选修了‘1002’号课程,但不是工业工程系的学生的学号(要求用差运算实现except)
select sno
from sc
where cno=1002
exceptselect sno
from student
where sdept!='工业工程'
16.创建一个公用表,该表由课程号、人数和最高分组成,用于存放各门课程的课程号、选修该课的人数及该门课的最高分数,查询该公用表,并按照课程号排序。
WITH gongyongbiao(cno,amount,maxgrade)
AS(SELECT sc.cno, COUNT(*), MAX(grade)
FROM course,sc
WHERE sc.cno IS NOT NULL
GROUP BY sc.cno)
SELECT cno,amount,maxgrade
FROM gongyongbiao
第八次作业
21.在学生信息表中进行自联接查询,并在连接时使用内链接,返回籍贯是“河南”或者“北
京”的学生学号、姓名、班级编号及籍贯信息。
select student.sno,sname,class,jiguan
from student
where jiguan=‘河南’or jiguan=‘北京’
2.查询人数超过45人所在班级中的学生的学号、姓名和班级名称。
Select 学号,姓名,班级名称
From 学生信息a,班级信息b
Where a.班级编号=b.班级编号 and a.班级编号 in(select 班级编号 from 班级信息 where 人数>45)
3.对于成绩大于等于90的数据进行查询,并返回考试成绩的学生的学号、姓名、性别、籍
贯和所在班级名称及年级信息。(用EXISTS编写语句)
Select a.sno,a.sname,a.ssex,a.jiguan,b.class,b.grade
From 学生信息a inner join 班级信息b
On a.班级编号=b.班级编号
Where exists(select* from 成绩表 where 学号=a.学号 and grade>=90)
4.查询出任意一个大于平均成绩的学生的学号、姓名、班级编号、课程编号和成绩信息。
Select a.sno,a.sname,a.class,b.cno,b.grade
From 学生信息a inner join 成绩表b
On a.学号=b.学号
Where grade>any(select avg(grade)from 成绩表)
5.查询学生姓名为“李文东”所在班级的学生信息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息
Select a.sno,a.sname,a.ssex,b.banjibianhao,b.banjimingcheng,b.nianjixinxi From 学生信息a inner join 班级信息b on a.班级编号=b.班级编号
Where a.班级编号=(select 班级编号 from 学生信息 where sname=‘李文东’)
6.查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,成绩按降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。
Select a.学号,a.姓名,a.班级编号,b.课程编号,b.成绩
From 学生信息a inner join 成绩表b
On a.学号=b.学号
Where a.学号 not in(select 学号 from 学生信息 where 班级编号 in
(select 班级编号 from 课程信息 where 开课系别=‘计算机系’))
Order by 成绩 desc
或
Select a.学号,a.姓名,a.班级编号,b.课程编号,b.成绩
From 学生信息a inner join 成绩表b
On a.学号=b.学号
Where a.班级编号 not in((select 班级编号 from 课程信息 where 开课系别=‘计算机系’))Order by 成绩 desc
第五篇:SQL-数据查询语言
宁波工程学院
数据库理论与技术课程实验报告
学院: 电子与信息工程学院 专业:计算机科学与技术 年级: 计科10-2 实验时间: 2012年4月15日
组长: 何亚玲 学号: 10401010201 指导教师签字: 成绩:
实验
三、SQL-数据查询语言
一、实验目的和要求
1、实验目的:深入理解连接查询和嵌套查询的语句格式、执行过程,掌握它们的使用方法;理解数据更新语言INSERT、UPDATE、DELETE语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。
2、实验要求:在每次实验前,学生必须根据实验指导书设计出实验方案(程序和实验步骤);在实验过程中要求独立进行程序调试和排错,学会使用在线帮助来解决实验中遇到的问题,同时运用理论的知识来分析问题和解决问题,记录下实验过程和结果。上机结束后写出实验报告,并对实验过程进行分析和总结。
二、实验内容与步骤
1、在SQL SERVER 2005上附加数据库jxgl和ReadBook。
2、在jxgl中完成下列查询
(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩(2)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名(3)查询和“刘涛”在一个班级的学生的信息 思考:该查询可用几种方法实现?
(4)查询选修了‘计算机基础’课的学生的学号、姓名(分别用连接查询和嵌套查询的方法实现)
(5)查询没有选修课程的学生的信息
(6)查询其他班中比“03计算应用1”所有学生入学成绩高的学生的姓名和入学成绩(用两种方法实现)
(7)查询每个学生超过该门课程平均成绩的课程号
1(8)查询至少选修了“0311102”学生所选全部课程的学生的学号(9)查询既选修了“计算机基础”又选修了“C语言基础”的学生的学号(10)同时显示students中学生以及teachers中教师的姓名、性别
3、在jxgl中完成下列数据更新
(1)向course表添加一个新的元组。
(2)将“0301102”学生所选的“0000002”课程的成绩改为100分,绩点改为2(3)删除(1)中在course表中添加的记录
(4)统计每门课程的平均成绩并将统计结果存入到jxgl数据库中
思考:如何将students表中班级名 “03计算应用1”改为“03计算机应用1”(可调用函数完成)
4、查询教师的编号、姓名、上课的课程号、课程名称及班级。将该查询定义为一个视图。
5、在第4题定义的视图中完成下列查询
(1)查询“姚明”所上课程和班级。(2)统计每一位教师上课的数量
6、利用数据库ReadBook完成下列查询及视图设计。(在SQL SERVER2005上附加数据库ReadBook)
(1)设计一个查询,要求用连接和嵌套两种方式完成。(2)设计一个查询,要求用外连接的方式完成。
(3)设计一个查询,要求用带exists或not exists相关子查询完成(4)设计一个集合查询
(5)设计一个带复合条件连接的查询
(6)设计一个视图,并在该视图中完成添加、修改、删除数据的操作。
(7)设计一个视图,并在该视图完成两个统计:a.每位读者以及他的借书数量,按借书数量作降序排列 b.每本书以及被借出的次数,按借出次数作降序排列。
注意在实验报告中说明查询的目的和对应的语句。
三、实验过程及数据记录
1、在SQL SERVER 2005上附加数据库jxgl和ReadBook。
2、在jxgl中完成下列查询
(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩
select Students.sno,sname,SC.cno,cname,grade from Students,SC,Course where Students.sno=SC.sno and SC.cno=Course.cno
(2)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名 select cno,cname from
Course
(3)查询和“刘涛”在一个班级的学生的信息 select * from
students where class=(select class from
students where sname='刘涛')
思考:该查询可用几种方法实现?
(4)查询选修了‘计算机基础’课的学生的学号、姓名(分别用连接查询和嵌套查询的方法实现)连接查询:
select Students.sno,sname from students,SC,Course where cname='计算机基础'and Students.sno=SC.sno and SC.cno=Course.cno 嵌套查询:
select s1.sno,sname from
students s1,SC s2,Course s3 where cname='计算机基础'and s1.sno=s2.sno and s2.cno=s3.cno 执行结果同上
(5)查询没有选修课程的学生的信息
select * from
Students where sno not in(select sno from sc)
(5)查询其他班中比“03计算应用1”所有学生入学成绩高的学生的姓名和入学成绩(用两种方法实现)
1:select sname,mgrade from students where
mgrade>(select max(mgrade)
from students where class='03计算应用')
2:select sname,mgrade from students where
mgrade>all(select mgrade from students where class='03计算应用1')
(6)查询每个学生超过该门课程平均成绩的课程号
select
cno from sc sc1 ,students where
grade>(select avg(grade)from sc sc2
where sc2.cno=sc1.cno)
(9)查询既选修了“计算机基础”又选修了“C语言基础”的学生的学号 where sc2.cno=sc1.cno)
select
s1.sno from
course c1,course c2,sc sc1,sc sc2,students s1,students s2 where
c1.cname='计算机基础'
and
c2.cname='C语言基础' and c1.cno=sc1.cno
and
sc1.sno=s1.sno and c2.cno=sc2.cno and
sc2.sno=s2.sno and
s1.sno=s2.sno(10)同时显示students中学生以及teachers中教师的姓名、性别 因为教师并没有标明性别,所以不显示
select sname,ssex from students select tname from teachers
3、在jxgl中完成下列数据更新
(1)向course表添加一个新的元组。增加的元组为学习的学期cterm: use jxgl_1 alter table course add cterm char(1)
(2)将“0301102”学生所选的“0000002”课程的成绩改为100分,绩点改为2 update sc set grade='100',point='2' where sno='0301102'
and cno='0000002'(3)删除(1)中在course表中添加的记录 use jxgl_1 alter table course drop column
cterm(4)统计每门课程的平均成绩并将统计结果存入到jxgl数据库中
select cno,avg(grade)as avg_grade from SC group by cno
思考:如何将students表中班级名 “03计算应用1”改为“03计算机应用1”(可调用函数完成)update
students set class='03计算机应用' where class='03计算应用'
4、查询教师的编号、姓名、上课的课程号、课程名称及班级。将该查询定义为一个视图。
create
view teacher_information(tno,tname,cno,cname,class)as select teachers.tno,tname,TC.cno,cname,class from Course,TC,Teachers where Course.cno=TC.cno and TC.tno=Teachers.tno
5、在第4题定义的视图中完成下列查询
(1)查询“姚明”所上课程和班级。select cname,class from teacher_information where
tname='姚明'
(2)统计每一位教师上课的数量 select tname,count(cno)the_all from teachers_view group by tno,tname
6、利用数据库ReadBook完成下列查询及视图设计。(在SQL SERVER2005上附加数据库ReadBook)
(1)设计一个查询,要求用连接和嵌套两种方式完成。
连接:
select
rname,bookname from
books,L_R,readers where books.bookid=L_R.bookid and
L_R.rno=readers.rno 嵌套:
select rname,bookname from books b1,L_R lr1 ,readers r1 where b1.bookid=lr1.bookid and
lr1.rno=r1.rno(2)设计一个查询,要求用外连接的方式完成。select classid,rno from books right outer join L_R on
books.bookid=L_R.bookid
(3)设计一个查询,要求用带exists或not exists相关子查询完成 select distinct bookname from books where exists(select bookid from
L_R where
books.bookid=L_R.bookid and rno='04201')(4)设计一个集合查询
select * from readers where rsex='男' union
select * from readers where spet='网络'(5)设计一个带复合条件连接的查询
select rname,bookname from books,L_R,readers where books.bookid=L_R.bookid and L_R.rno=readers.rno(6)设计一个视图,并在该视图中完成添加、修改、删除数据的操作。create
view books_information(bookid,classid,bookname)as select bookid,classid,bookname from books
select * from books_information
insert into books_information(bookid,classid,bookname)values('sn911','yy','计算机维修')
update books_information set classid='yy' where bookid='sn9001'
delete from
books_information where classid='sn9007'
(7)设计一个视图,并在该视图完成两个统计:a.每位读者以及他的借书数量,按借书数量作降序排列 b.每本书以及被借出的次数,按借出次数作降序排列。create view lr(rno,rname,bookid)6 as select readers.rno,rname,bookid from readers,L_R where readers.rno=L_R.rno
select rno,rname,count(bookid)as 借书数量 from lr group by rno,rname order by 借书数量desc
select bookid,count(bookid)as 借书次数 from lr group by bookid order by 借书次数desc drop view lr
注:图很多,不一一附上
四、实验结果分析
这次实验的内容是熟悉连接查询和嵌套查询的语句格式、执行过程,并掌握它们的使用方法;理解数据更新语言INSERT、UPDATE、DELETE语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。
按照课本的指导,导入数据库,才可以进行相关查询。编写程序时会出现很多错误,很多分析时还正确,却不能执行,自己不断独立纠错改正,才可以实现查询结果。