第一篇:数据关联查询开辟低保审计新思路
数据关联查询开辟低保审计新思路
笔者有幸参加了2012年全国社保资金审计,众所周知,低保资金是困难群众的保命钱,倍受老百姓的关注,如何确保低保资金的管理使用安全规范,这是审计部门义不容辞的职责。低保涉及面非常广,仅靠过去传统的审计方法和现有的审计人力,难以完成庞大的审计任务,通过审计实践反复琢磨,充分发挥数据关联查询技术,探索了一些做法,同时也对低保资金审计提出几点思路。
一、总体思路
采集民政部门低保数据与工商部门、公安部门、房管部门、公积金部门、社保部门数据,经过清理、转换、验证,进行比对,经审计核实取证,发现了部分不符合条件的虚报冒领低保问题线索。
二、审计步骤和sql语句
第一步:把采集的城市低保、农村低保、个体户、房管、公积金、死亡、养老支付等数据导入ao2011。
第二步:清理验证姓名、身份证号,生成一类审计中间表。
1.对城市低保花名表处理。
验证姓名中的空格
验证身份证错误信息
清理后生成新的城市低保花名表
2.同理:生成农村低保花名表_
1、个体户数据、死亡数据、购房数据、公积金数据、职工养老表数据(职工养老数据注意筛查条件看发放日期和终止日期)
3.生成城乡低保花名表
小思路:由于ao不能执行视图命令,先筛选城市低保花名表生成城乡低保居民花名表,再把农村低保花名表插入该表中,生成乡低保花名表。
select [所需字段] into 城乡居民低保花名表 from 城市低保花名表_1
insert into 城乡低保花名表 select * from 农村低保花名表_1
第三步:将城乡低保花名表与个体户数据、公积金数据、购房数据、死亡数据、职工养老支付数据的身份证号18位与15位进行处理,生成二类审计中间表(因同一区划范围内身份证前6位一样,撮18位与15位中间部分)。
1.生成城乡低保花名表中间表
第四步:将上步审计中间表与城乡低保花名表中间表进行一一对比,以身份证号为关联查询生成不符合保障条件结果表及领取金额。
1.城乡低保中间表与个体户数据中间表比对生成违规领取低保_个体户
2.同理:城乡低保中间表与公积金数据中间表比对生成违规领取低保_交公积金、城乡低保中间表与购房数据中间表比对生成违规领取低保_购商品房、城乡低保中间表与死亡数据中间表比对生成违规领取低保_死亡人员、城乡低保中间表与职工养老数据中间表比对生成违规领取低保_职工养老
第五步:汇总上步结果,计算最终虚报冒领数额。
select 姓名1,身份证号,领取金额 into 不符合条件领取低保名单 from 违规领取低保_个体户 union all select 姓名1,身份证号,领取金额 from 违规领取低保_购商品房 union all select 姓名1,身份证号,领取金额 from 违规领取低保_交公积金 union all select 姓名1,身份证号,领取金额 from 违规领取低保_死亡人员 union all select 姓名1,身份证号,领取金额 from 违规领取低保_职工养老 select sum(领取金额)from 不符合条件领取低保名单
三、对今后低保资金审计的几点思路
一是联合资源,逐步建立完善城乡低保信息数据库。从中央到地方出台相应制度,规定审计部门可以采集人社、公安、房管、公积金等部门信息,以获取全面的原始数据。
二是开阔思路,利用计算机采集民政及相关部门数据。如采集人社、户籍等外部数据与低保数据进行比对,生成审计疑点,并进行核实。
三是严肃处理,加大违规行为人的处罚力度。在审计中,一旦发现有恶意骗保、弄虚作假行为,要加大处罚力度,必要时移送司法部门严肃处理。
第二篇:审计专业人才培养新思路
审计专业人才培养新思路
【摘要】 审计人才的培养是一个理论和实践相结合的系统工程。在审计教学中增设审计模拟实验教学阶段和环节,既顺应了素质教育的要求,又不失是高校审计专业人才培养的一个新途径。文章通过分析审计模拟实验教学的必要性与现状,提出了一个既易于学习又便于操作的审计模拟实验教学模式和实验教学环节的设计构想。
【关键词】 审计; 实验教学;设想
审计教育事业的产品是审计人才。培养什么样的人才,应服从于社会主义经济建设的需要。从2004年震惊全国的“审计风暴”中,人们深刻认识到“经济越发展,审计越重要”,同时也看到了审计事业的发展和社会对审计人才的需要,特别是审计——这类高层次会计人才的需求潜力,审计已日趋成为各高校特别是财经院校的热门专业。但是,纵观当今我国各财经高校的审计教学,都普遍存在“难教、难懂、难学、难考”的问题,审计教学效果很不理想,毕业生的专业素质和能力远不能适应审计工作的要求。如何加强高校审计专业人才教育,培养适应新形势的审计专业人才是我们所面临的迫切问题。
一、审计模拟实验教学的必要性
2005年,国务院颁布《中共中央国务院关于深化教育改革,全面推进素质教育的决定》首次将培养学生实践能力和创新能力,加强课程的综合性和实践性等必须重视实践教学工作的问题写进了中央文件,从根本上肯定了实验教学工作在高等教育中的重要地位和作用。随后,国家教育部《关于进一步加强高等学校本科教学工作的若干意见》,把实践教学作为教学工作评估的关键指标之一,表明国家对于实验教学问题已从一般号召阶段进入到实际操作阶段和检验阶段。按照这一指导思想和我国的经济社会的发展状况,审计人才培养目标的定位应该是为政府部门、企事业单位及社会中介组织从事会计、审计实务、理财工作和其他相关经济管理工作,具有综合素质的人才。为此,审计人才的培养是一个理论和实践相结合的系统工程。在审计专业教学中,教师如何将抽象的审计基本理论与实务操作通过仿真的实践性环节来实现理论到实务的过渡是关键环节。
笔者在2006年-2007年间对我院会计系4 000多在校生进行了审计教学效果的跟踪调查,调查中发现,有62%的学生认为审计课理论多而抽象,难于理解;48%的学生认为理解了,但不知如何运用,只有6.3%的学生认为审计课还算好理解,也有一定的兴趣。与此同时,在对当年应届会计、审计专业毕业生的问卷调查中发现,60%学生的理想是考取注册会计师,其中又有70%的学生不知道如何编制审计工作底稿,甚至忘记什么是审计工作底稿,知识的“返生”程度高达82%。为什么大部分学生会觉得审计课 “难懂、难学、易忘”呢?剖析其主要的原因是:目前的审计教学方式普遍采用的仍然是传统的“满堂灌”的教学模式。在这种模式下,以教师为主导,以教材为中心,这种“重理论、轻实践”的教学方法,最终导致课堂传输的信息量过少,严重抑制了学生的思维能力,更谈不上培养学生分析问题、解决实际问题的能力。尽管不少老师使出“浑身解数”,大量采用案例教学,短时间内确实也调动了部分学生的自主学习和独立思考的积极性,但随着考试的结束,留在记忆中的东西也越来越少;再者,由于案例分析的知识点较为分散,不能综合化与系统化,学生也只了解相关学科的知识在审计学科中的简单应用,很难从总体上领会审计工作的精髓所在。
因此,在审计学原理与实务这门“技巧性”相当强的学科中,技巧的培养,更需要对知识的应用、发挥和创新。注重实践性教学环节,强化对学生创新能力、实践能力以及对知识的灵活应用能力的培养,对高校审计专业人才的培养具有至关重要的作用。
二、审计专业实验教学的模式设计
目前,随着国家对学科专业设置的改革,审计基本被纳入了“大会计”专业教育的范畴(除了南京审计学院),各院校的审计专业均从属于会计学科。因此,在“大会计”的观念下,各大高校普遍重视的是会计模拟实验教学的研究与开发,审计专业的实践教学都是在“大会计”架构下进行的,其模式基本有两种:一是审计实验课做一套会计模拟账;另一种是查一套会计账,出一份无保留意见审计报告。这种就会计教审计的理念,最终又回到了“灌输”,只不过把教室换成了实验室。笔者经过长期的审计教学与实践探讨,认为审计专业实践性教学的模式可以这样设计:
(一)围绕《会计学》、《审计学》和《财务审计》专业主干课程,开设“三个阶段”的实习
1.课程实习。属于初级阶段的实习,指在《会计学》、《审计学》课程的教学中,安排期末一周进入实验室,模拟企业会计的账务处理过程,编制一套简单的财务报表,进而模拟审计人员编制一个业务循环的审计工作底稿,使学生身临其境,理解“什么是审计?审计是干什么的?”
2.学年实习。属于中级阶段的实习,一般安排在三年级学完《财务审计》课程后,进入实验室的实习时间为期末两周,要求学生完成销售与收款、购货与付款、生产循环、筹资与投资等交易循环审计工作底稿的编制,出具一份审计报告,体会“审计是怎么干的?”,在有条件的情况下,由学校或专业教师安排,让学生到会计师事务所参观学习,进一步增强感性认识,培养其专业兴趣。
3.毕业综合模拟实习。属于高级阶段的实习,也可称为专业实习,安排在四年级最后一个学期,实习时间为四周。要求学生在实验室模拟审计活动的全过程,能够独立完成审计计划、审计实施、审计终结阶段的工作,并发表恰当的审计意见。
(二)围绕审计专业的核心课程,开展“七个方面”的实验教学活动
1.演示教学。这是一种通过幻灯、电视录像、多媒体教学软件等现代化教学手段演示和解说审计实务操作过程的实践性教学形式。一般与日常课堂教学活动结合运用,以帮助学生对所学(或即将学)的知识建立感性认识,大大提高教学内容的直观性和可理解性,提高教学效果。
2.案例教学。这是一种在教学过程中由学生围绕某教学案例,综合运用所学知识与方法对其进行分析、推理,提出解决方案,并在师生之间、同学之间进行探讨、交流的实践性教学形式。
3.实务界专家讲座。这是一种“现身教学”法,要求学校经常与实务界保持联系,聘请实务界高端的会计人才和审计专家来校讲课,以提高本专业的吸引力和凝聚力,扩大学生的知识面。
4.校内模拟实习。这是一种在校内实验室进行的以被审计单位——企业基本财务活动以及背景资料为基础,模拟审计人员进行相关的鉴证业务的实践性教学形式。校内模拟实习的关键是实习资料的仿真性和内容的完整性以及对模拟实习的指导和考核。校内模拟实习的目的在于培养学生根据审计的基本原理和方法进行实务操作、解决实际问题的能力。
5.校外专业实习。这是一种直接让学生到校外实习基地跟班参加审计工作的实践性教学形式。校外实习基地可以是会计师事务所和政府审计部门。校外实习一般属岗前练兵,是教学环节不可缺少的重要组成部分,它属于综合性实习,其实习内容涉及广,包括财务管理、会计核算、审计、税收、金融等诸方面的业务。通过校外实习,可锻炼学生语言表达能力、沟通能力、社会交往能力等。校外实习的目的主要是对学生综合能力和素质的锻炼和培养。
6.社会调查。这是一种利用假期或校外实习机会或特定安排一定时间开展多种形式的专题调查、并撰写专题报告的实践性教学形式。
7.撰写论文。包括中期论文(学年论文)撰写和毕业论文撰写与答辩。这是一种在教师的指导下,学生独立开展学术研究的实践性教学形式。撰写论文实际上是一个对知识获取、信息选择的过程,即综合知识、综合技能运用和发挥的过程。
三、审计专业实验教学环节的设计
就一般院校审计专业的人才培养方案而言,以培养为地方经济建设服务的、具有较高综合素质和较强实践能力的、实务操作(应用)型为主的审计专业人才为基本目标,在培养规格中突出“强实践、善实务、能创新”的要求,因此,在专业教学计划中对实践性教学环节内容体系的设计,可以这样安排:(1)一些课程在教学计划中规定有实践性教学环节的内容和时间(即期末一周的课程实习);(2)本专业主要专业方向与特色课中,每门课程必须安排至少一个综合性案例作为教学内容,实施案例教学法;(3)第四学期末,相关会计课程安排为期两周的会计专业实验;(4)第六学期末,安排为期二周的财务审计手工模拟实习;(5)第八学期,安排前四周的审计综合模拟实习;(6)后十二周为毕业论文的写作与答辩;(7)从第三学期开始,安排由专业课教师担任导师的“导师制”;(8)从第五学期开始安排实行校内校外的“双导师制”指导制度;(9)暑期社会实践。具体做法如下:
(一)明确教学目的和基本要求
1.为了优化审计专业人才培养过程,使学生在专业理论学习过程中就能接触实际、熟悉实务、加强实践,审计专业学生必须在第八学期进行为期4周的综合模拟实习。
2.通过审计综合模拟实习,要求学生能够把在此前学过的本专业课程的知识串连起来,从感性上理解审计中若干交易循环的实务做法,更深入地了解和学会如何利用审计专业知识去分析、判断和解决实际问题的本领。
(二)采取的实习方式
模拟实习可以采取校内实习或者校外现场实习,或者两种形式相结合的方式。
校内实习统一使用在账务处理方面内含一定问题的制造企业的财务资料及其相关信息等资料,由学生自行成立“审计小组”,以审计小组为单位,分别采用手工和电算化手段完成对企业的会计报表的审计,要求每组在各岗位的分工合作下共同完成年报审计工作。
现场实习将由学生到“双导师制”下的校外实习单位,在校外指导教师的指导下参与审计活动的实习。
(三)科学安排实习进程
实习时间共4周28天时间。
在校内实习,用3天时间成立审计小组,发放被审计单位的相关资料、指导教师做前期指导,然后由学生自己动手进行为期25天的模拟审计;最后2天由指导教师组织学生总结审计模拟实践训练的体会和建议,撰写并提交实验报告。
校外现场实习由学生提前1个月与校外指导教师定好实习项目,一般选用实习单位具体的审计项目,可以是已经完成的审计项目,也可以是正在进行的审计项目,让学生凭自己的学识独立设计审计总体方案和具体方案,时间不得少于7天。
(四)成绩评定
综合模拟实习的成绩,根据实习学生所完成的审计工作底稿和电算化审计过程及结果的规范性和准确性、实习报告的内容以及在实习期间的表现综合评定,按优、良、中、及格、不及格共五个档次确定成绩。
审计专业的特点决定了它不像会计专业那样具有较稳定的内容体系和方法体系,其工作性质也更具有复杂性和挑战性,所以审计专业的实验教学模式和教学环节的具体设计,还存在不少困难和局限。但审计模拟实验教学是审计教学的重要组成部分,其应用完善了审计学科的建设,是提高教学质量,培养高端会计与审计人才不可或缺的一个重要的教学环节,需要进行不断的探索,认真研究解决。
【主要参考文献】
[1] 潘颖.《对审计教学的几点思考》.Zz66免费论文资源网.[2] 边建明,李君.《会计与审计实验教材》.经济科学出版社,2003,(5).[3] 高圣荣,陈力生.《新编审计模拟实习》.立信会计出版社,2007,(2).[4] 潘念萍.《审计人才培养与高校本科审计专业建设定位》.文教资料,2007,(4).
第三篇:《数据的查询操作》
第八次作业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
第四篇:查询数据论文网站
中文科技期刊数据库
《中 文科技期刊数据库》是我国收录期刊最多、年限最长、专业文献量最大的中文期刊数据库。该库自推出就受到国内图书情报界的广泛关注和普遍赞誉,目前已拥有包 括港澳台地区在内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/
第五篇: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语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。
按照课本的指导,导入数据库,才可以进行相关查询。编写程序时会出现很多错误,很多分析时还正确,却不能执行,自己不断独立纠错改正,才可以实现查询结果。