当前位置:   article > 正文

MySQL实验三 数据查询二_打开library数据库 第一题 根据读者(reader)和借阅(borrow)数据表,查询王颖珊的

打开library数据库 第一题 根据读者(reader)和借阅(borrow)数据表,查询王颖珊的借

第1关:多表查询

打开library数据库

第一题 根据读者(reader)和借阅(borrow)数据表,查询王颖珊的借阅记录,包括条形码txm、借阅日期jyrq、还书日期hsrq

第二题 根据图书(book)和借阅(borrow)数据表,查询李白全集被借阅的情况:包括读者证号dzzh、借阅日期jyrq、还书日期hsrq

第三题 根据读者(reader)、图书(book)和借阅(borrow)数据表查询没有被归还的借阅信息:包括读者证号dzzh、姓名xm、电话dhhm、条形码txm、书名sm、借阅日期jyrq 提示:通过isnull(表达式)可以判断表达式是否NULL值

  1. use library;
  2. #代码开始
  3. #第一题
  4. select txm,jyrq,hsrq from reader a, borrow b where a.dzzh=b.dzzh and xm='王颖珊';
  5. #第二题
  6. select dzzh,jyrq,hsrq from book join borrow on book.txm=borrow.txm where sm='李白全集';
  7. #第三题
  8. select a.dzzh,xm,dhhm,b.txm,sm,jyrq from reader a, borrow b, book c
  9. where a.dzzh=b.dzzh and b.txm=c.txm and isnull(hsrq);
  10. #代码结束

 第2关:多表查询及统计分组

第一题: 统计每本书借阅的次数,显示书名和借阅次数(借阅次数命名为jycs),按借阅次数降序排列,借阅次数相同的按书名降序排列 (提示:borrow数据表的一条数据对应一次借阅)

第二题: 统计借阅次数在2次以上的图书的借阅的次数,显示书名和借阅次数,按借阅次数降序排列,借阅次数相同的按书名降序排列

第三题 统计每个出版社的图书的借阅次数,显示出版社的名称和借阅次数,按借阅次数降序排列,借阅次数相同的按出版社降序排列

第四题: 统计每位读者借阅的次数,显示姓名和借阅次数,按借阅次数降序排列,借阅次数相同的按姓名降序排列

第五题: 统计研究生读者借阅的次数,显示姓名和借阅次数,按借阅次数降序排列,借阅次数相同的按姓名降序排列

  1. use library
  2. #代码开始
  3. #第一题
  4. select sm,count(*) as jycs from book,borrow where book.txm=borrow.txm
  5. group by sm order by jycs desc,sm desc;
  6. #第二题
  7. select sm,count(*) as jycs from book,borrow where book.txm=borrow.txm
  8. group by sm having jycs>=2 order by jycs desc,sm desc;
  9. #第三题
  10. select cbs,count(*) as jycs from book,borrow where book.txm=borrow.txm
  11. group by cbs order by jycs desc,sm desc;
  12. #第四题
  13. select xm,count(*) as jycs from reader,book,borrow
  14. where book.txm=borrow.txm and reader.dzzh=borrow.dzzh
  15. group by xm order by jycs desc,xm desc;
  16. #第五题
  17. select xm,count(*) as jycs from reader,book,borrow
  18. where book.txm=borrow.txm and reader.dzzh=borrow.dzzh and sf='研究生'
  19. group by xm order by jycs desc,xm desc;
  20. #代码结束

 第3关:子查询

第一题 查询与李白全集同一个出版社的图书的书名(不包括李白全集)

第二题 查询高于图书的平均售价(sj)的图书的书名和售价

第三题 查询售价最高的图书的条形码、书名和售价 第四题 查询售价最低的图书的条形码、书名和售价 

  1. use library;
  2. #代码开始
  3. #答案1
  4. select sm from book where cbs=(select cbs from book where sm='李白全集') and sm!='李白全集';
  5. #答案2
  6. select sm,sj from book where sj>(select avg(sj) from book);
  7. #答案3
  8. select txm,sm,sj from book where sj=(select max(sj) from book);
  9. select txm,sm,sj from book where sj=(select min(sj) from book);
  10. #代码结束

第4关:多表子查询

第一题 查询曾经借过图书的读者的读者证号和姓名

第二题 查询曾经没有被借阅的图书的条形码和书名

第三题 查询与孙思旺借过相同图书的读者的读者证号和姓名,按读者证号升序排列

第四题 查询借阅过李白全集的读者所借过的其他图书的书名 按书名升序排列

  1. use library;
  2. #代码开始
  3. #题目1
  4. select dzzh,xm from reader where dzzh in (select dzzh from borrow);
  5. #题目2
  6. select txm,sm from book where txm not in (select txm from borrow);
  7. #题目3
  8. select dzzh,xm from reader where reader.dzzh in
  9. (select dzzh from borrow where txm in
  10. (select txm from borrow where borrow.dzzh=
  11. (select dzzh from reader where xm='孙思旺')))
  12. and xm!= '孙思旺' order by dzzh asc ;
  13. #题目4
  14. select sm from book where book.txm in
  15. (select txm from borrow where borrow.dzzh in
  16. (select dzzh from borrow where borrow.txm=
  17. (select txm from book where sm='李白全集')))
  18. and sm!= '李白全集' order by sm asc;
  19. #代码结束
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/546001
推荐阅读
相关标签
  

闽ICP备14008679号