三个表:图书信息表、读者信息表、借阅表图书信息(书号、书名、作者、出版日期、出版社、图书存放位置、总数量)BOOK(BNO, BN, BAU, BNO, BN,, BPU, BPL, BNU)读者信息表(图书证号、姓名、所在系、借书上限数)READER(RNO, RN, RDE, RUP)借阅表(图书证号、书号、借出日期、应还日期)BORROW(RNO, BNO, BDA, RDA)
1.如果还书过期罚款按0.1元/天计算,统计共要罚款多少元。2.列出图书的书号、书名、出版日期(只要年月日)。3.如果还书过期罚款按16.699元/天计算,统计共要罚款多少元,留2位小数,考虑四舍五入,每三位用逗号相隔。4.列出每月借书情况,显示年月(比如显示“2012-10”)、数量,按年月升序排列。
5.统计每个系借书情况,显示系名、数量,并按数量降序排列。 6.统计借书最多的系情况,显示系名、数量。7.如果还书过期罚款按0.1元/天计算,请列出有过期未还图书的读者的书号、姓名、所在系、应还日期、过期天数、罚款金额,按过期天数降序排序。
8.检索有过期未还图书的读者的图书证号、姓名、书号、书名、所在系
9.检索有过期未还图书的读者的书号、姓名、所在系、应还日期、过期天数,按过期天数降序排序。
10.检索至少有两名借阅的图书信息。
大神,还有4个,还有就是能亿用我给的字段吗??看着舒服点
追答第七个不对重写了
7.如果还书过期罚款按0.1元/天计算,请列出有过期未还图书的读者的书号、姓名、所在系、应还日期、过期天数、罚款金额,按过期天数降序排序。
select 借.书号,读.姓名,读.所在系,借.应还日期,trunc(sysdate)-借.应还日期 过期天数,(trunc(sysdate)-借.应还日期) * 0.1 罚款金额
from 借阅表 借
inner join 读者信息表 读on 读.图书证号 = 借.图书证号
where 借.还书日期 is null
and trunc(sysdate)-借.应还日期 > 0
order by trunc(sysdate)-借.应还日期 desc
8
检索有过期未还图书的读者的图书证号、姓名、书号、书名、所在系
select 读.图书证号,读.姓名,借.书号,图.书名,读.所在系
from 借阅表 借
inner join 读者信息表 读
on 读.图书证号 = 借.图书证号
inner join 图书信息表 图
on 图.书号= 借.书号
where 借.还书日期 is null
and trunc(sysdate)-借.应还日期 > 0
order by trunc(sysdate)-借.应还日期 desc
9.检索有过期未还图书的读者的书号、姓名、所在系、应还日期、过期天数,按过期天数降序排序。
select 借.书号,读.姓名,读.所在系,借.应还日期,trunc(sysdate)-借.应还日期 过期天数from 借阅表 借inner join 读者信息表 读on 读.图书证号 = 借.图书证号where 借.还书日期 is null
and trunc(sysdate)-借.应还日期 > 0
order by trunc(sysdate)-借.应还日期 desc
10.检索至少有两名借阅的图书信息。
select 图.*
from 图书信息表 图
inner join 借阅表 借
on 图.书号= 借.书号
group by 图.书号
having count(*) > 1