数据库题目二 设学生---社团数据库有三个基本表:学生(学号,姓名,年龄,性别);社团(编号,名称,负责人,办公地点);

1个回答

  • 1、 查和“S0701026”读者借了相同图书的读者的图书证号和姓名

    select rno,rn from reader where rno in(select a.rno from borrow as a,borrow as b where a.bno=b.bno and b.rno='S0701026')

    2、 查询每个读者的姓名和所借图书名

    select rn,bn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno

    3、 查没有借书的读者的图书证号和姓名

    select rno,rn from reader where rno not in(select rno from borrow)

    4、 查询借阅了“数据结构”的读者数量

    select count(*) from borrow where bno=(select bno from book where bn='数据结构') group by bno

    5、 查“李丽”和“张朝阳”都借阅了的图书的书号

    select a.bno from borrow as a,borrow as b where a.rno=(select rno from reader where rn='李丽') and b.rno=(select rno from reader where rn='张朝阳') and a.bno=b.bno

    6、 查询借书上限最大的读者信息

    select * from reader where rup=(select max(rup) from reader) order by rup desc

    7、 查询借阅图书数量达到2本的读者信息

    select * from reader where rno in(select rno from borrow group by rno having count(*)>1)

    8、 查询每个读者姓名,所借图书的图书号,没有借书的读者也列出来

    select reader.rn,bno from reader left join borrow on reader.rno=borrow.rno

    9、 查询没有借阅“C程序设计”的读者姓名

    select rn from reader where rno not in(select rno from borrow where bno=(select bno from book where bn='C程序设计'))

    10、 检索所有姓李的读者所借图书的书号

    select bno from borrow where rno in(select rno from reader where rn like '李%')

    11、 查被借出的图书编号以“TP”开头的图书信息

    select * from book where bno in(select bno from borrow where bno like 'TP%')

    12、 查没有被借阅的图书信息

    select * from book where bno not in(select bno from borrow)

    13、 查询借阅了“数据库原理及其应用教程”的读者的图书证号和姓名

    select reader.rno,rn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno and bn='数据库原理及其应用教程'

    14、 统计各个系读者的数量,显示系名和数量

    select rde 系名,count(*) 数量 from reader group by rde

    15、 查询有过期未还图书的读者的书号、姓名、所在系

    select bno,rn,rde from reader,borrow where reader.rno=borrow.rno and rda < getdate()

    16、 检索至少借阅了“数据结构”和“操作系统教程”的读者图书证号

    select a.rno from borrow as a,borrow as b where a.bno=(select bno from book where bn='数据结构') and b.bno=(select bno from book where bn='操作系统教程') and a.rno=b.rno

    17、 查库存书的总数

    select sum(bnu) from book

    18、 查询借阅了图书的读者信息

    select * from reader where rno in(select rno from borrow)