发布时间 : 星期一 文章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 专业名='计算机' );