一、实验要求:
1、 查询“红楼梦”目前可借的各图书编号,及所属版本信息。(是否借出为‘否‘的图书)。
2、查找高等教育出版社的所有书目及单价,结果按单价降序排序。
3、统计“红楼梦”各版的藏书数量(ISBN不同则版本不同)。
4、查询学号“20061234”号借书证借阅未还的图书的信息。
5、查询各个出版社的图书最高单价、平均单价。
6、要查询借阅了两本和两本以上图书的读者的个人信息。
7、查询“王菲”的单位、所借图书的书名和借阅日期。
8、查询每类图书的册数和平均单价。
9、统计从未借书的读者人数。
10、统计参与借书的人数。
11、找出所有借书未还的读者的信息及所借图书编号及名称。
12、检索书名是以“Internet”开头的所有图书的书名和作者。
13、查询各图书的罚款总数。
14、查询借阅及罚款分类信息,如果有罚款则显示借阅信息及罚款名称、罚金,如果没有罚款则罚款名称、罚金显示空(左外连接)
15、查询借阅了所有“文学”类书目的读者的姓名、单位。
二、sql代码:
-------------------------实验2-------------------------
--1.查询“红楼梦”目前可借的各图书编号,及所属版本信息。-
--(是否借出为‘否‘的图书)--
select booklist.*
from booklist,books
where booklist.book_name = '红楼梦'
and booklist.isbn=books.isbn
and books.isloan = '否';
--2、查找高等教育出版社的所有书目及单价,结果按单价降序排序--
select *
from booklist
where booklist.publisher = '高等教育出版社'
order by price DESC;
--3、统计“红楼梦”各版的藏书数量(ISBN不同则版本不同)--
select books.isbn,count(books.isbn) amount
from booklist,books
where booklist.book_name = '红楼梦' and booklist.isbn = books.isbn
group by books.isbn;
--4、查询学号“20061234”号借书证借阅未还的图书的信息--
--连接查询--
select booklist.*
from borrow,books,booklist
where borrow.r_id = '20061234' and borrow.return_data is null
and borrow.book_no = books.book_no and books.isbn = booklist.isbn;
--嵌套查询--
select booklist.*
from booklist
where isbn in
(select isbn
from booknm
where bookid in
(select bookid
from loanbook
where loanbook.rid='20061234'
and loanbook.returndata is null));
--5、查询各个出版社的图书最高单价、平均单价--
select publisher,max(price) max_price,avg(price) avg_price
from booklist
group by booklist.publisher;
--6、要查询借阅了两本和两本以上图书的读者的个人信息。--
select reader.*
from reader
where r_id in (select r_id
from borrow
group by r_id
having count(*)>=2);
--7、查询“王菲”的单位、所借图书的书名和借阅日期。--
select r_unit,book_name,l