数据库原理与应用(庞国莉)题目+答案 下载本文

select bname,bpub,bpri from book

where bpub = '机械工业出版社' or bpub = '科学出版社'

16)求读者的总人数

select count (*) 总人数 from rea

17)求借阅了图书的读者的总人数

select count (distinct rnum ) 借阅总人数 from br

18)求机械工业出版社图书的平均价格、最高价、最低价。

select AVG (bpri) avg , MAX (bpri) max , MIN (bpri) min from book

where bpub = '机械工业出版社'

19)查询借阅图书本数超过2本的读者号、总本数。并按借阅本数值从大到小排序。

select rnum,COUNT (bnum) 总本数 from br Group by rnum

having COUNT(bnum) >2 order by (count (bnum)) desc

(6)针对以上三个表,用SQL语言完成以下各项多表连接查询、子查询、组

合查询

1)查询读者的基本信息以及他/她借阅的情况。

select rea.* ,br.bnum ,br.brback ,br.brdate from rea,br

where rea.rnum = br.rnum

2)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。

select br.bnum ,rea.rname,book.bname,br.brback ,br.brdate from rea,br,book

where rea.rnum = br.rnum and book.bnum=br.bnum

3)查询借阅了机械工业出版社出版,并且书名中包含’数据库’三个字的图书的读者,显示读者号、姓名、书名、出版社,借出日期、归还日期。

select rea.rnum,rea.rname,book.bname,br.brback ,br.brdate from rea,br,book

where book.bname like '%数据库%' and bpub = '机械工业出版社' and rea.rnum = br.rnum and book.bnum=br.bnum

4)查询至少借阅过1本机械工业出版社出版的书的读者的读者号、姓名、书名,借阅本数,并按借阅本数多少降序排列。

select br.rnum,rea.rname,bname,COUNT(br.bnum )本数 from book,rea,br

where rea.rnum = br.rnum and book.bnum = br.bnum and book.bnum = ' 机械工业出版社' Group by br.rnum ,rname,bname

having COUNT(bname) >=1 order by COUNT(br.bnum) desc

5)查询与’王平’的办公电话相同的读者的姓名。

select r1.rname from rea r1,rea r2

where r1.rname = '王平' and r1.rphone = r2.rphone

6)查询办公电话为’88320701’的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅的读者,显示他们的读者号、姓名、书名、借阅日期。

select rea.rnum,rname,bname,brdate from book,rea,br

where rphone = '88320701' and rea.rnum = br.rnum

and book.bnum = br.bnum

7)查询所有单价小于平均单价的图书号、书名、出版社

select bnum,bname,bpub from book

where bpri < (select AVG(bpri)

from book )

8)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。

select bname ,bpri from book

where bpub = '科学出版社' and bpri > (select MAX (bpri)

9)查询'科学出版社'的图书中单价比'机械工业出版社'最低单价高的的图书书名、单价。

rom book

where bpub = '机械工业出版社')

select bname ,bpri from book

where bpub = '科学出版社' and bpri > (select Min (bpri)

from book

where bpub = '机械工业出版社')

10)查询已被借阅过并已归还的图书信息。

select * from book

where bnum in ( select bnum

from br

where brback is not null)

11)查询从未被借阅过的图书信息。

select * from book

where bnum not in ( select bnum

from br