access实验报告电子版2015 联系客服

发布时间 : 星期一 文章access实验报告电子版2015更新完毕开始阅读9386292f551810a6f424864b

浙江大学城市学院实验报告

课程名称 ACCESS数据库应用 实验项目名称 实验九、SQL查询(2)

学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期

一. 实验目的和要求

1. 掌握sql创建过程。 2. 掌握sql的使用。

【练习9-1】建立“图书管理系统”中的3个表分别为:

(1)STUDENT(借书证号,姓名,专业,性别,出生时间,借书数,办证日期) (2)BOOK(ISBN,书名,作者,出版社,价格,复本书,库存量) (3)BORROW(借书证号,ISBN,借书时间,应还时间) 借书证号 80101 80102 80105 80208 80210 80511 ┇ 姓名 专业 性别 借书数 出生时间 女 女 男 女 男 男 ┇ 3 1 2 2 0 1 ┇ Jan-88 May-89 Jun-88 Oct-87 Sep-88 May-86 ┇ 办证日期 Jun-08 Jul-08 Jun-08 Sep-08 Jul-08 Oct-08 ┇ 吕亭亭 计 算 机 张玉玲 计 算 机 汪东升 网络工程 陈 艺 电 子 张 彦 电 子 孙森茂 外 语 ┇ ┇ ISBN 730200899X 781067224X 7871112133 7800048381 7040100959 7115101620 7040195835 书名 版主答疑-Delphi高级编程技巧 大学英语词汇记忆点津与考点 数据库系统导论 英语网上文摘 C++程序设计语言(特别版) 计算机网络 数据库系统概论 作者 岳庆生 马德高 C.J.Date 董素华 Special Stroustrup 谢希仁 王珊 出版社 机械工业出版社 牛津大学出版社(港) 机械工业出版社 科学出版社 人民交通出版社 电子工业出版社 高等教育出版社 价格 49 16 75 5 55.67 39 36.8 复本数 库存量 7 20 10 20 8 4 8 5 15 2 3 1 0 2 借书证号 80101 80101 80101 ISBN 7040100959 7040195835 7115101620 借书时间 2008-9-1 2008-9-1 2008-9-1 应还时间 2008-12-1 2008-12-1 2008-12-1

80102 80105 80208 80208 730200899X 781067224X 781067224X 7115101620 2008-8-25 2008-11-25 2008-9-10 2008-12-10 2008-10-9 2009-1-9 2008-9-28 2008-11-28

练习以下题目,保存sql 语句在数据库中,并上传。

1. 在STUDENT表中查询出所有读者的姓名、专业名和借书数。

SELECT 姓名,专业,借书数 from STUDENT

2. 在BORROW表中找出所有的借阅信息。

SELECT 借书证号,ISBN,借书时间,应还时间 from BORROW

3. 查询学生的姓名和年龄。

SELECT 姓名,year(date())-year(出生时间) as 年龄 from student

4. 查询所有读者的姓名、还可借书籍的数量,要求两个字段之间用字符串“还可借书数:”

进行连接,并为所计算的列指定列名“可借书数”。(假设每人最多可借书6本) SELECT 姓名, '还可借书数:', 6-借书数 as '可借书数' FROM STUDENT; 5. 从BORROW表中找出所有借了书的读者的借书证号。

SELECT 借书证号 FROM borrow

6. 查询STUDENT表中借书数在3本以上的学生情况。

SELECT * FROM STUDENT where 借书数>=3

7. 查询BOOK表中价格介于30元到50元之间(包括30和50)的书籍的ISBN、书名、

作者和出版社信息

SELECT ISBN,书名,作者,出版社 FROM BOOK

where 价格>=30 or 价格<=50

8. 查询STUDENT表中专业名为“计算机”、“网络工程”、“软件工程”的学生信息。

SELECT *

FROM STUDENT

where 专业 in(\计算机\网络工程\软件工程\

9. 查询STUDENT表中电子专业的学生的借书证号、姓名和借书数。

SELECT 借书证号,姓名,借书数 FROM STUDENT where 专业=\电子\

10. 查询STUDENT表中所有姓”王”的学生的借书证号、姓名、专业名和性别。

SELECT 借书证号,姓名,专业,性别 FROM STUDENT where left(姓名,1)=\王\

11. 查询BOOK表中书名以“论”结束的书籍的ISBN和出版社。

SELECT ISBN,出版社 FROM book

where right(书名,1)=\论\

12. 查询STUDENT表中专业名尚不确定的学生的详细信息。

SELECT *

FROM STUDENT where 专业 is null

13. 查询BOOK表中价格在40元以上电子工业出版社的图书和所有清华大学出版社的图书

的ISBN、书名、出版社和价格信息。 SELECT ISBN,书名,出版社,价格 FROM book

where 价格>=40 and 出版社=\电子工业出版社\出版社=\清华大学出版社\

14. 查询读者总人数。

SELECT count(*) as 读者总人数 FROM student

15. 查询图书总册数和库存图书总册数。

SELECT sum(复本数) as 图书总册数,sum(库存量) as 库存图书总册数 from book

16. 查询计算机或网络工程专业借书最多和最少的册数。

SELECT Max(借书数) AS 最多册数,Min(借书数) AS 最少册书 FROM student

WHERE 专业 In (\计算机\网络工程\17. 查询STUDENT表中各个专业的学生数。

SELECT 专业,count(*) FROM student group by 专业

18. 查询BOOK表中各个出版社各有多少本图书。

SELECT 出版社,count(*) FROM book group by 出版社

19. 查询STUDENT表中,女生人数超过5人的专业名。

SELECT 专业 FROM student where 性别=\女\group by 专业 having count(*)<=5

20. 查询BOOK表中水利水电出版社的图书,并按照价格进行由高向低排列。

SELECT* from book

where 出版社=\水利水电出版社\order by 价格 desc

21. 查询STUDENT表中所有学生的信息,查询结果按专业名升序排列,同一个专业的学

生按照年龄升序排列(即按照出生年份降序排列)。 select *

from student

order by 专业,year(now())-year(出生时间) asc 22. 查询每个读者的基本信息及借书情况。

select student.*,borrow.* from student,borrow

where student.借书证号=borrow.借书证号

23. 查询计算机专业的学生借阅图书的信息,包括学生的姓名、借书数、所借书的书名、应

还时间。

select student.姓名,借书数,borrow.应还时间,book.书名 from student,borrow,book

where student.借书证号=borrow.借书证号 and borrow.isbn=book.isbn and 专业=\计算机\24. 查询借阅了书名中含有“数据库”的图书的学生的借书证号、姓名、专业名、所借图书的

ISBN、书名和应还书时间。

select student.借书证号,姓名,专业,borrow.isbn,应还时间,book.书名 from student,borrow,book

where 书名 like\数据库*\student.借书证号=borrow.借书证号 and book.isbn=borrow.isbn

25. 查询与“张彦”同一个专业的学生的借书证号、姓名、性别和借书数。

select 借书证号,姓名,性别,借书数 from student

where 专业=(select 专业 from student where 姓名=\张彦\

26. 查询没有借阅书名中含有“数据库”字样图书的计算机专业学生的借书证号、姓名、性别、

专业名和借书数。

SELECT 借书证号,姓名,性别,专业,借书数 from student

where 专业=\计算机\借书证号 in(select borrow.借书证号 from borrow,book where borrow.isbn=book.isbn and 书名 not like\数据库*\

27. 查询其他专业比所有计算机专业的学生年龄都小的学生的信息。 SELECT *

FROM STUDENT

WHERE 专业名<> '计算机' AND 出生时间 >ALL (SELECT 出生时间 FROM STUDENT

WHERE 专业='计算机' ); 或者

SELECT *

FROM STUDENT

WHERE 专业名<> '计算机' AND 出生时间> (SELECT MAX(出生时间) FROM STUDENT

WHERE 专业名='计算机' );