SQL 图书管理系统(存储过程参考)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 求总藏书量、藏书总金额,总库存册数、最高价、最低价。select count(图书编号) as 总藏书量,

sum(定价) as 藏书总金额,

sum(实际数量) as 总库存册数,

max(定价) as 最高价,

min(定价) as 最低价

from 图书卡片

go

2. 列出藏书在10本以上的书(书名、作者、出版社、年份)。select 图书名称,作者姓名,出版社,出版日期

from 图书卡片

group by 图书编号 having(coung(1)>10)

order by 图书名称

go

3. 哪些出版社的藏书种类数超过100种。

select 出版社 as '藏书种类数超过100种的出版社'

from 图书卡片

group by 出版社 having(count(类别)>100)

order by 出版社

go

4. 目前实际已借出多少册书?

select sum(借出数量) as '借出数量'

from 图书卡片

go

5. 年份最久远的书。

select top 1 with ties 图书名称 from 图书卡片

order by 出版日期

go

6. “数据库系统原理教程,王珊编,清华大学出版社,1998年出版”还有几本?select count(1) from 图书卡片

where concaints(摘要,'"数据库系统原理教程,王珊编,清华大学出版社,1998年出版"') go

7. 哪一年的图书最多?

select top 1 with ties convert(substring(出版日期,1,4)) as 年份,count(1) as '图书数量' from 图书卡片

group by 出版日期

order by 图书数量 desc

go

8. 哪本借书证未归还的图书最多?

select top 1 with ties A.读者编号,count(1) as '借书数量'

from 图书卡片 A,借阅 B

where A.图书编号=B.图书编号

group by A.读者编号

order by 借书数量 desc

go

9、平均每本借书证的借书册数。

select avg(借阅数量) as '平均每本借书证的借书册数'

from 借阅

go

10.哪个系的同学平均借书册数最多?

select top 1 with ties A.工作单位,avg(借阅数量) as '平均借阅数量'

from 读者 A,借阅 B

where A.读者编号=B.读者编号

group by A.工作单位

order by 平均借阅数量' desc

go

11. 最近两年都未被借过的书。

select 图书名称

from 图书卡片

where 图书编号 in(select 图书编号 from 借阅 where datediff(year,借阅日期,getdate())>2) go

12. 列出那些借了图书逾期未归还的借书证号和图书名。

select A.读者编号 as '借书证号',B.图书名称

from 读者 as A inner join 图书卡片 as B on A.图书编号=B.图书编号

where A.应归还日期

go

13.今年未借过书的借书证。

select 读者编号

from 读者

where 读者编号 not in(select 读者编号

from 读者

where datediff(year,借阅日期,getdate())=0)

go

14. 今年那种书出借最多?

select top 1 with ties A.类别,count(1) as '借出数量' from 图书卡片 A,借阅 B

where datediff(year,B.借阅日期,getdate())=0 group by A.类别

order by 借出数量' desc

go

相关文档
最新文档