数据库练习答案

数据库练习答案
数据库练习答案

图书(图书编号,书名,作者,出版社,单价)

读者(借书证号,姓名,性别,年龄,单位,职称,地址)

借阅(借书证号,图书编号,借阅日期,备注)1、查找读者黄刚所在的单位。

SELECT 姓名,单位

FROM 读者

WHERE 姓名=’黄刚’

2、查找所有读者的姓名及其出生年份。

SELECT 姓名,2009-年龄AS 出生年份

FROM 读者

3、查找2008年1月1日后借阅图书的借书证号。

SELECT DISTINCT借书证号

FROM 借阅

WHERE借阅日期>2008-1-1

4、查找价格在10 元和20 元之间的图书。

SELECT 书名,作者,单价,出版社

FROM 图书

WHERE 单价BETWEEN 10 AND 20

5、查找清华大学出版社和北京大学出版社的所有图书。

SELECT 书名,作者,出版社

FROM 图书

WHERE 出版社IN (’清华大学出版社’,’北京大学出版社’)

6、查找书名以“数据库”开头的所有图书。

SELECT 书名,作者

FROM 图书

WHERE 书名LIKE ‘数据库%’

7、查找备注为空的借阅情况。

SELECT *

FROM 图书

WHERE 备注IS NULL

8、查找清华大学出版的单价高于10元的图书的情况。

SELECT *

FROM 图书

WHERE 出版社=’清华大学出版社’ and 单价>10

9、查找鲁迅书的情况,并且按出版社升序排列,同一出版社的图书再按图书单价的降序排列。

SELECT *

FROM 图书

WHERE 作者=’鲁迅’

ORDER BY 出版社,单价DESC

10、查找各个出版社出版的图书册数。

SELECT 出版社,COUNT(*)AS 图书册数

FROM 图书

GROUP BY 出版社

11、查找借阅了3本以上图书的借书证号。

SELECT 借书证号

FROM 借阅

GROUP BY 借书证号

HAVING COUNT(*)>3

12、查找所有借阅了图书的读者姓名及所在单位。

SELECT DISTINCT 姓名,单位

FROM 读者,借阅

WHERE 读者.借书证号=借阅.借书证号

13、找出李晶所借的所有图书的书名及借阅日期。

SELECT "李晶所借的图书:",书名,借阅日期

FROM 图书,借阅,读者

WHERE 读者.借书证号=借阅.借书证号

AND 借阅.图书编号=图书.图书编号

AND 姓名="李晶"

14、查找价格在20 元以上已借出的图书,结果按单价降序排列。

SELECT *

FROM 图书,借阅

WHERE 图书.图书编号=借阅.图书编号AND 单价>=20

ORDER BY 单价DESC

15、查询每个读者的基本信息及其借阅的情况。

SELECT * FROM 读者INNER JOIN 借阅

ON读者.借书证号=借阅.借书证号

16、查询计算机系读者的借阅情况,要求列出读者的名字、所借阅的图书编号和借阅日期。

SELECT 姓名,图书编号,借阅日期

FROM 读者JOIN 借阅ON 读者.借书证号=借阅.借书证号

WHERE 单位=‘计算机系’

17、查询计算机系借阅“数据库”书的读者借阅时间,要求列出读者姓名、书名和借阅日期。

SELECT 姓名,图书编号,借阅日期

FROM 读者S JOIN 借阅C ON S.借书证号=C.借书证号

WHERE 单位=‘计算机系’

18、查询所有借阅了‘数据库’书籍的读者情况,要求列出读者姓名和所在的单位。

SELECT 姓名,书名,借阅日期

FROM 图书S JOIN 借阅 C 0N S.图书编号=C.图书编号

JOIN 读者D ON D.借书证号=C.借书证号

WHERE 单位=‘计算机系’AND 书名=‘数据库’

19、查询与张三在同一个单位的读者的姓名和所在的单位。

SELECT S2.姓名,S2.单位

FROM 读者S1 JOIN 读者Studen S2

ON S1.单位=S2.单位

WHERE s1.姓名=‘张三’AND s2.姓名!=‘张三’

20、查询读者的借阅情况,包括借阅了图书的读者和没有借阅图书的读者。

SELECT 读者.借书证号,图书编号,借阅日期

FROM 读者LEFT OUTER JOIN 借阅

ON 读者.借书证号=借阅.借书证号

21、查询与张三在同一个单位的读者。

SELECT 姓名,单位FROM 读者

WHERE 单位IN

(SELECT 单位FROM 读者WHERE 姓名=‘张三’)

22、找出读者的姓名、所在单位,他们与“王明”在同一天借了书。

SELECT 姓名,单位,借阅日期

FROM 读者,借阅

WHERE 借阅.借书证号=读者.借书证号AND 借阅日期IN

(SELECT 借书日期

FROM 借阅,读者

WHERE 借阅.借书证号=读者.借书证号AND 姓名=‘王明’)

23、查询清华大学出版社出版的且单价高于该出版社平均单价的图书。

SELECT * from 图书

WHERE 出版社=‘清华大学出版社’and 单价>

SELECT AVG(单价) FROM 图书

WHERE 出版社=‘清华大学出版社’

24、查询借阅了图书编号为“C01”的读者姓名。

SELECT 姓名FROM 读者

WHERE EXISTS

SELECT * FROM 借阅

WHERE 读者.借书证号=借阅.借书证号AND 图书编号=‘C01’

或SELECT 姓名FROM 读者JOIN借阅ON读者.借书证号=借阅.借书证号WHERE 图书编号=‘C01’

25、查找图书总数。

SELECT "藏书总册数:",COUNT(*)

FROM 图书

26、查找借阅了图书的读者人数。

SELECT COUNT(DISTINCT 借书证号)

FROM 借阅

27、统计清华大学出版社出版的图书的单价总和。

SELECT SUM(单价)AS 总价

FROM 图书

WHERE 出版社=’清华大学出版社’

28、查找清华大学出版社的图书的平均单价。

SELECT AVG(单价)AS 平均单价

FROM 图书

WHERE 出版社=’清华大学出版社’

29、查找清华大学出版社的图书的最高单价。

SELECT MAX(单价)AS 最高单价

FROM 图书

WHERE 出版社=’清华大学出版社’

30、查找清华大学出版社的图书的最低单价。

SELECT MIN(单价)AS 最低单价

FROM 图书

WHERE 出版社=’清华大学出版社’

相关主题
相关文档
最新文档