资源描述
建立图书管理系统中3个表分别为:
(1)STUDENT(借书证号,姓名,专业,性别,出生时间,借书数,照片,办证日期)
(2)BOOK(ISBN,书名,作者,出版社,价格,复本书,库存量)
(3)BORROW(借书证号,ISBN,借书时间,应还时间)
借书证号
姓名
专业名
性别
借书数
出生年份
办证日期
080101
吕亭亭
计 算 机
女
3
1988-01
-06
080102
张玉玲
计 算 机
女
1
1989-05
-07
080105
汪东升
网络工程
男
2
1988-06
-06
080208
陈 艺
电 子
女
2
1987-10
-09
080210
张 彦
电 子
男
0
1988-09
-07
080511
孙森茂
外 语
男
1
1986-05
-10
┇
┇
┇
┇
┇
┇
┇
ISBN
书名
作者
出版社
价格
复本数
库存量
X
版主答疑-Delphi高级编程技巧
岳庆生
机械工业出版社
49.0
7
5
X
大学英语词汇记忆点津和考点要览
马德高
牛津大学出版社(港)
16.0
20
15
数据库系统导论
C.J.Date
机械工业出版社
75.0
10
2
英语网上文摘
董素华
科学出版社
5.0
20
3
C++程序设计语言(尤其版)
Special Stroustrup
人民交通出版社
55.67
8
1
计算机网络
谢希仁
电子工业出版社
39.0
4
0
数据库系统概论
王珊
高等教育出版社
36.8
8
2
亲密接触ASP.NET
杜亮
清华大学出版社
39
20
1
┇
┇
┇
┇
┇
┇
┇
借书证号
ISBN
借书时间
应还时间
080101
-09-01
-12-01
080101
-09-01
-12-01
080101
-09-01
-12-01
080102
X
-08-25
-11-25
080105
X
-09-10
-12-10
080208
X
-10-09
-01-09
080208
-09-28
-11-28
080515
-10-23
-01-23
┇
┇
┇
┇
练习:
1. 在STUDENT表中查询出全部读者姓名、专业名和借书数。
a) Select 姓名,专业名,借书数 from STUDENT;
2. 在BORROW表中找出全部借阅信息。
a) Select * from BORROW;
3. 查询学生姓名和年纪。
a) Select 姓名,year(now())-year(出生年份) as 年纪 from STUDENT;
4. 查询全部读者姓名、还可借书籍数量,要求两个字段之间用字符串“还可借书数:”进行连接,并为所计算列指定列名“可借书数”。(假设每人最多可借书6本)
a) Select 姓名,6-借书数 as 可借书数 from STUDENT;
5. 从BORROW表中找出全部借了书读者借书证号。
a) Select DISTINCT 借书证号 from BORROW;
6. 查询STUDENT表中借书数在3本以上学生情况。
a) Select * from STUDENT where借书数>=3;
7. 查询BOOK表中价格介于30元到50元之间(包含30和50)书籍ISBN、书名、作者和出版社信息。
a) Select ISBN,书名,作者,出版社 from BOOK where价格 between 30 and 50;
8. 查询STUDENT表中专业名为“计算机”、“网络工程”、“软件工程”学生信息。
a) Select * from STUDENT where专业名 in(”计算机”、”网络工程”、”软件工程”);
9. 查询STUDENT表中电子专业学生借书证号、姓名和借书数。
a) Select 借书证号,姓名,借书数 from STUDENT where专业名=”电子”;
10. 查询STUDENT表中全部姓王学生借书证号、姓名、专业名和性别。
a) Select 借书证号,姓名,专业名,性别 from STUDENT where姓名 like ”王*”;
11. 查询BOOK表中书名以“100%”结束书籍ISBN和出版社。
a) Select ISBN,出版社 from BOOK where书名 like ”*100%”;
12. 查询STUDENT表中专业名尚不确定学生具体信息。
a) Select * from STUDENT where 专业名 is null;
13. 查询BOOK表中价格在40元以上电子工业出版社图书和全部清华大学出版社图书ISBN、书名、出版社和价格信息。
a) Select ISBN,书名,出版社,价格 from BOOK where价格>40 and出版社=” 电子工业出版社” or出版社=” 清华大学出版社”;
14. 查询读者总人数。
a) Select count(*) from STUDENT;
15. 查询图书总册数和库存图书总册数。
a) Select sum(复本数),sum(库存量) from BOOK;
16. 查询计算机或网络工程专业借书最多和最少册数。
a) Select max(借书数), min(借书数) from STUDENT where专业名 in(”计算机”、”网络工程”);
17. 查询STUDENT表中各个专业学生数。
a) SELECT专业名, count(*) FROM STUDENT GROUP BY专业名;
18. 查询BOOK表中各个出版社各有多少本图书。
a) SELECT 出版社, count(*) FROM BOOK GROUP BY 出版社;
19. 查询STUDENT表中,女生人数不超出5人专业名。
a) SELECT专业名FROM STUDENT WHERE性别="女" GROUP BY专业名 HAVING count(*)<=5;
20. 查询BOOK表中水利水电出版社图书,并根据价格进行由高向低排列。
a) SELECT * FROM BOOK where 出版社=”水利水电出版社” ORDER BY 价格 DESC;
21. 查询STUDENT表中全部学生信息,查询结果按专业名升序排列,同一个专业学生根据年纪升序排列(即根据出生年份降序排列)。
a) Select * from STUDENT order by 专业名, 生年份降序 desc;
22. 查询每个读者基础信息及借书情况。
a) Select STUDENT.借书证号,姓名,专业名,性别,借书数,出生年份,办证日期,ISBN,借书时间,应还时间 from STUDENT, BORROW where STUDENT.借书证号= BORROW.借书证号;
23. 查找在同一天借阅了不一样图书学生借书证号、ISBN和借书时间。
a) Select 借书证号,ISBN,借书时间 from BORROW A, BORROW B where A. 借书时间=B.借书时间;
24. 查询计算机专业学生借阅图书信息,包含学生姓名、借书数、所借书书名、应还时间。
a) Select 姓名,借书数,书名,应还时间 from STUDENT,BORROW,BOOK where STUDENT.借书证号=BORROW.借书证号 and专业名=” 计算机” and BORROW.ISBN= BOOK.ISBN;
25. 查询借阅了书名中含有“数据库”图书学生借书证号、姓名、专业名、所借图书ISBN、书名和应还书时间。
a) Select借书证号,姓名,专业名,借书数, BORROW.ISBN,书名,应还时间 from STUDENT,BORROW,BOOK where STUDENT.借书证号=BORROW.借书证号 and BORROW.ISBN= BOOK.ISBN and 书名 like ”*数据库*”;
26. 查询和“张彦”同一个专业学生借书证号、姓名、性别和借书数。
a) Select借书证号,姓名,性别,借书数 from STUDENT where专业名=(Select专业名 from STUDENT where姓名=”张彦”);
27. 查询没有借阅书名中含有“数据库”字样图书计算机专业学生借书证号、姓名、性别、专业名和借书数。
a) Select借书证号,姓名,专业名,借书数
b) from STUDENT
c) where专业名=”计算机” and 借书证号 in
i. (Select BORROW.借书证号
ii. from BORROW,BOOK
iii. where BORROW.ISBN= BOOK.ISBN and 书名 not like ”*数据库*”);
28. 查询图书表中每个出版社图书库存量低于该出版社全部图书平均库存量图书ISBN和书名。
a) SELECT ISBN,书名
b) FROM BOOK s1
c) where 库存量<
i. (Select avg(库存量)
ii. From BOOK s2
iii. Where s1.出版社=s2.出版社
iv. Group by 出版社)
d) Group by 出版社;
29. 查询其它专业比全部计算机专业学生年纪全部小学生信息。
Select *
from STUDENT
where专业名<>”计算机” and year(now())-year(出生年份)<
(Select min(year(now())-year(出生年份))
from STUDENT
where专业名=”计算机”);
展开阅读全文