首页 > 精品范文库 > 4号文库
实验五数据查询——复杂查询
编辑:红叶飘零 识别码:13-612940 4号文库 发布时间: 2023-08-02 14:11:11 来源:网络

第一篇:实验五数据查询——复杂查询

数据库原理实验

学号:123012008xxx姓名:xxx班级(x)小班日期:2010年月日

实验五数据查询——复杂查询

一、实验目的1.掌握SQLServer查询语句的基本语法

2.熟练使用SQL的Select语句对多表进行查询

3.熟练掌握并运用SQLServer所提供的函数

4.熟练使用SQL语句进行复杂的连接操作

二、实验环境(实验的软件、硬件环境)

硬件:PC机 软件:SQL2000

三、实验指导说明

请复习相关的查询知识点并完成如下内容。

四、实验内容

1.在订单数据库orderDB中,完成如下的查询:

(1)用子查询查询员工“张小娟”所做的订单信息。

select *

from orderMaster

where SaleNo in()select distinct employeeno from employee where employeeName='陈诗杰'

(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。

select *

from customer c

where not exists(select * from orderMaster o where o.customerNo=c.CustomerNo)and Adderss='北京市'

(3)查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。1

select OrderNo,Qty,Price

from orderDetail

where ProductNo in()select ProductNo from product where ProductName='32M DRAM'

(4)查询与员工编号“E2008005”在同一个部门的员工编号,姓名,性别,所属部门。

select * from employee

select *

from employee

where Department in()select Department from employee where employeeNo='E2008001'

(5)查询既订购了P20050001商品,又订购了P20070002商品的客户编号,订单编号和订单金额

select distinct

orderDetail.OrderNo,orderMaster.Ordersum,orderMaster.customerNo from orderDetail,orderMaster

where orderDetail.OrderNo=orderMaster.OrderNo and ProductNo='p2006002'intersect

select

orderDetail.OrderNo,orderMaster.Ordersum,orderMaster.customerNo from orderDetail,orderMaster

where orderDetail.OrderNo=orderMaster.OrderNo and

ProductNo='p2008001'

(6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号,客户名称。

select customerno,customername

from customer

where CustomerNo in(select customerNo

from orderMaster

where OrderNo in(select OrderNo

from orderDetail where ProductNo not in(select ProductNo from productwhere ProductName='52倍速光驱' or ProductName='17寸显示器')))

(7)查询订单金额最高的订单编号,客户姓名,销售员名称和相应的订单金额。

select

employee.employeeName,customer.customername,orderMaster.Ordersum from orderMaster,employee,customer

where Ordersum>=(select MAX(Ordersum)from orderMaster)and employeeNo=SaleNo and orderMaster.customerNo=customer.CustomerNo

(8)查询订购了“52倍速光驱”商品的订购数量,订购平均价和订购总金额。

select SUM(Qty)as totalq,AVG(Price)asavgprice,sum(Qty*Price)as totalp

from orderDetail

where ProductNo in(select distinct ProductNo

from product

where ProductName='52倍速光驱')

(9)查询订购了“52倍速光驱”商品且订货数量界于2~4之间的订单编号,订货数量和订货金额。

select Qty,Price,OrderNo

from orderDetail

where ProductNo in(select distinct ProductNo

from product

where ProductName='52倍速光驱')and OrderNo between '200801090002' and '200801090004'

(10)在订单主表中查询每个业务员的订单数量

selectsaleno,COUNT(*)

from orderMaster

group by SaleNo

(11)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资。select COUNT(*)as peoplesum,AVG(Salsry)as avgs

from employee

wherebirthday like '%1973%' or birthday like '%1967%'and Department='业务科'

(12)在订单明细表中统计每种商品的销售数量和金额,并按销售金额的升序排序输出。

select Qty,Price

from orderDetail

order by Qty*Price asc

(13)统计客户号为“C20050001”的客户的订单数,订货总额和平均订货金额

select SUM(b.Qty)as qsum,avg(b.Price)as pavg,SUM(Qty*Price)as qp from orderMaster a,orderDetail b

where customerNo='c2005004' and a.OrderNo=b.OrderNo

(14)统计每个客户的订单数,订货总额和平均订货金额。

select customerno,COUNT(customerNo),avg(b.Price)as pavg,SUM(Qty*Price)as qp

from orderMaster a,orderDetail b

where a.OrderNo=b.OrderNo

group by customerNo

(15)查询订单中至少包含3种(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。

(16)查找订购了“32M DRAM”的商品的客户编号,客户名称,订货总数量和订货总金额。

select distinct

customer.CustomerNo,customername,orderMaster.Ordersum,Qty from orderMaster,customer,orderDetail

where ProductNo in(select distinct ProductNofrom productwhere ProductName='32M DRAM')and

orderMaster.customerNo=customer.CustomerNo and

orderDetail.OrderNo=orderMaster.OrderNo

(17)查询每个客户订购的商品编号,商品所属类别,商品数量及订货金额,结果显示客户名称,商品所属类别,商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。

(18)按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量,订货平均单价和订货总金额。

(19)查找至少有2次销售的业务员名称和销售日期。

(20)查询销售金额最大的客户名称和总货款额

(21)查找销售总额小于5000元的销售员编号,姓名和销售额

(22)查找至少订购了3种商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

(23)查找同时订购了商品为“P20070002”和商品编号为“P20070001”的商品的客户编号,客户姓名,商品编号,商品名称和销售数量,按客户编号排序输出。

(24)计算每一商品每月的销售金额总和,并将结果首先按销售月份然后按订货金额降序排序输出。

(25)查询订购了“键盘”商品的客户姓名,订货数量和订货日期

(26)查询每月订购“键盘”商品的客户名称。

(27)查询至少销售了5种商品的销售员编号,姓名,商品名称,数量及相应的单价,并按销售员编号排序输出。

(28)查询没有订购商品的客户编号和客户名称。

(29)查询至少包含了“世界技术开发公司”所订购的商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.存在量词与集合运算in、连接运算和全程量词之间的关系如何?他们可以互相替换吗?给出你的理由

2.Where子句和having子句都是用于指定查询条件的,请区别它们的异同?用实例说明。

3.在分组聚集操作中,为什么在查询列中,除了聚集函数运算外,其它表达式必须包含在group by子句中?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

第二篇:查询数据论文网站

中文科技期刊数据库

《中 文科技期刊数据库》是我国收录期刊最多、年限最长、专业文献量最大的中文期刊数据库。该库自推出就受到国内图书情报界的广泛关注和普遍赞誉,目前已拥有包 括港澳台地区在内2000余家固定单位用户,是我国数字图书馆建设的核心资源之一,高校图书馆文献保障系统的重要组成部分,也是科研工作者进行科技查证和 科技查新的必备数据库。中国期刊全文数据库

该 库是目前世界上最大的连续动态更新的中国期刊全文数据库,收录国内9100多种重要期刊,以学术、技术、政策指导、高等科普及教育类为主,同时收录部分基 础教育、大众科普、大众文化和文艺作品类刊物,内容覆盖自然科学、工程技术、农业、哲学、医学、人文社会科学等各个领域,全文文献总量3252多万篇。

清华同方学术期刊网

中国最大的数据库,内容较全。收录了5000多种中文期刊,1994年以来的数百万篇文章,并且目前正以每天数千篇的速度进行更新。阅读全文需在网站主页下载CAJ全文浏览器。万方数据库

万 方数据库是由万方数据公司开发的,涵盖期刊,会议纪要,论文,学术成果,学术会议论文的大型网络数据库。也是和中国知网齐名的中国专业的学术数据库。开发 公司——万方数据股份有限公司是国内第一家以信息服务为核心的股份制高新技术企业,是在互联网领域,集信息资源产品、信息增值服务和信息处理方案为一体的 综合信息服务商。超星数字图书馆

超 星数字图书馆成立于1993年,是国内专业的数字图书馆解决方案提供商和数字图书资源供应商。超星数字图书馆,是国家“863”计划中国数字图书馆示范工 程项目,2000年1月,在互联网上正式开通。它由北京世纪超星信息技术发展有限责任公司投资兴建,目前拥有数字图书八十多万种。为目前世界最大的中文在线数字图 书馆,提供大量的电子图书资源提供阅读,其中包括文学、经济、计算机等五十余大类,数十万册电子图书,300 万篇论文,全文总量 4亿余页,数据总量30000GB,大量免费电子图书,并且每天仍在不断的增加与更新。

维普

http://www.teniu.cc/ 城市规划学刊http://www.teniu.cc/

城市交通http://www.teniu.cc/

第三篇: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语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。

按照课本的指导,导入数据库,才可以进行相关查询。编写程序时会出现很多错误,很多分析时还正确,却不能执行,自己不断独立纠错改正,才可以实现查询结果。

第四篇:《数据的查询操作》

第八次作业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

第五篇:access数据综合查询

实验名称:数据综合查询

实验目的:熟练掌握数据的综合查询方法

实验内容:

(1)利用“HappyYouAccess实验07学籍01.mdb”数据库完成:(A)建立一个汇总查询。该查询名称为“期未成绩汇总查询”,显示的字段有“人数”,“课程名”,“期未成绩平均分”,“期未成绩最低分”,“期未成绩最高分”。(要求:数据来源于cjb、kcb)

(B)做一参数查询名称为“综合期末成绩查询”,输入要查询的期未成绩的最低数后,能够显示这些学生的“学号,姓名,课程名,期中成绩,期未成绩”。(要求:数据来源于cjb、kcb、xjb)

(2)利用“HappyYouAccess实验07Exe01.mdb”数据库完成:(A)通过“学生成绩表”建立查询 “三门总分”,包含“学生编号、语文、数学、外语、三门总分”字段,并使“三门总分”等于“语文”、“数学”与“外语”之和,条件是三门课程都在80分以上。

(B)对“学生家庭情况表”和“学生编号表”创建名为“查询1”的查询,要求包括字段“学生编号、姓名、邮政编码、家庭住址”。(3)利用“HappyYouAccess实验07Exe02.mdb”数据库完成:

(A)打开“教师业务档案及收入”表,查询出学历为大学本科的月工资大于2000元且小于2500元的教语文的女教师,保存到名为q1的查询中如图1。

(B)设计一个查询,名为“高二年级汇总”的查询,要求对高二年级的同学进行汇总,字段显示语文、数学、外语。

(4)利用“HappyYouAccess实验07Exe03.mdb”数据库完成:(A)在“教师教育背景表”学历字段中查找出“学历”为“硕士”的记录,查询名称为“q1”。(B)根据“教师教育背景表”创建一个追加查询,名称为q2,能实现对“教师教育背景表”中的学历为硕士的教师信息追加到“部分教师教育背景表”。(C)对“学生编号表”、“学生成绩表”进行查询,浏览项目包括“姓名、年级、信息科技、语文、数学、外语、三门平均分”。并要求“信息科技”成绩大于90、降序排列,“三门平均分”为语文、数学、外语的平均分,并保存为q3。

(5)利用“HappyYouAccess实验07Exe04.mdb”数据库完成:

(A)建立一个“中学高级或中学特级查询”的查询,浏览的项目为“教师编号、姓名、专业、学历、来校工作年月、任教学科、职称、月工资、奖金”,要求:首先为表建立关联;“教师编号、姓名”字段使用的是“教师编号表”;“专业、学历、来校工作年月”字段使用的是“教师教育背景表”;其它字段使用的是“教师业务档案及收入表”。

(B)创建一个“高三学生成绩查询”的查询,浏览的项目:为“班级编号、学生编号、姓名、语文、数学、外语、物理、总分(总分:语文+数学+外语+物理)”,其中“姓名、班级编号、学生编号”字段使用的是“学生编号表”;其它字段使用的是“学生成绩表”。(6)利用“HappyYouAccess实验07Exe05.mdb”数据库完成:(A)做一更新查询,名称“修改语文分数”,每次执行该查询可以使“高一年级部分学生成绩表”的语文字段增加1分,并要执行一次该查询,使现有表中的语文成绩增加1分。(B)做一删除查询,名称为“删除空班”,实现的功能是能将“学生班级任课教师表”中只有体育任课教师的班级删除。

(7)利用“HappyYouAccess实验07学籍02.mdb”数据库完成:(A)建一查询,名称为“期末成绩汇总”,通过该查询可以查询到每一科的最高分,最低分,参加人数和平均分(要求用两个表”kcb”、”cjb”)。(B)将“cjb”、“kcb”和“xjb”中的“高等数学”的成绩单独查询出来,将查询的结果保存到名为“高等数学成绩单”表中,建立的查询名称为“成绩单”。

(8)利用“HappyYouAccess实验07Exe06.mdb”数据库完成:

(A)在“教师教育背景表”中查找出“大学本科”的记录,查询名称为q1。(B)创建一个生成表查询名称为“出生日期查询”,将“教师家庭情况表”表出生日期在1976年1月 1日以前的职工保存到名为“查询结果”的表中,要求该表中有如下字段“教师编号,姓名,出生年月”。(9)利用“HappyYouAccess实验07Exe07.mdb”数据库完成:

(A)以“职工”表为数据源,创建一个查询,查找并显示每个仓库的职工的平均工资,要求查询结果中有仓库号和平均工资两项内容,查询名为Q1。

(B)以“订购单”和“供应商”两张表为数据源,创建一个查询,查找并显示每个订购单的“订购单号”和“供应商名”,要求查询结果按订购单号升序排序,查询名为Q2。(10)利用“HappyYouAccess实验07Exe08.mdb”数据库完成:

(A)以“订购单”和“供应商”两张表为数据源,创建一个查询,查找并显示每个订购单的“订购单号”和“供应商名”,要求查询结果按订购单号降序排序,查询条件为“订购单”表的“供应商号”等于“供应商”表的“供应商号”(两表间无关联)查询名为“Q1”。(B)以“职工”为数据源建立一个删除查询“Q2”,其功能是删除“职工”表中工资少于1230元的,并执行该查询。

(11)利用“HappyYouAccess实验07Exe09.mdb”数据库完成:

(A)使用“查找不匹配项查询向导”将“职工”表和“订购单”表作为数据来源,创建查询Q1,用来查询那些没有订购单的职工的信息(要求查询结果中包含“职工”表的全部字段)。

(B)以“订购单”,“职工”和“供应商”三张表为数据源,创建一个查询,查找并显示每个订购单的订购单号,职工的姓名和供应商的供应商名,要求查询结果按订购单号升序排序,查询名为“Q2”。(12)利用“HappyYouAccess实验07Exe10.mdb”数据库完成:(A)使用“查找重复项查询向导”,将“订购单”表作为数据来源,创建查询Q1,要求“重复值字段”为职工号,查询结果包括“订购单”表中的所有字段。

(B)更新“职工”表的字段“工资”对应的数据,将“工资”字段值都加20,定义更新查询名称为“Q2”。(注:查询Q2只能运行一次)。提交文件:按照Access学号姓名和实验序号提交到指定文件夹。

例如:Access123456张三07.rar 步骤提示:

(1)„参考HappyYouAccess实验07学籍01an.mdb(2)„参考HappyYouAccess实验07Exe01an.mdb(3)„参考HappyYouAccess实验07Exe02an.mdb(4)„参考HappyYouAccess实验07Exe03an.mdb(5)„参考HappyYouAccess实验07Exe04an.mdb(6)„参考HappyYouAccess实验07Exe05an.mdb(7)„参考HappyYouAccess实验07学籍02an.mdb(8)„参考HappyYouAccess实验07Exe06an.mdb(9)„参考HappyYouAccess实验07Exe07an.mdb(10)„参考HappyYouAccess实验07Exe08an.mdb(11)„参考HappyYouAccess实验07Exe09an.mdb(12)„参考HappyYouAccess实验07Exe10an.mdb

实验五数据查询——复杂查询
TOP