图书(书号,书名,价格,出版社)
读者(卡号,姓名,年龄,所属单位)
借阅(书号,卡号,借阅日期)
根据上面基本表的信息完成下列查询。
1 查询高教出版社的《数据库原理》的读者姓名。
2 查询价格比高教出版社图书都贵的图书信息。
3 查询年龄20岁以下的读者姓名和所借阅图书的书名。
use MyDb
/**查询一**/
select rname from reader join b_r on b_r.card=reader.card join book on book.bno=b_r.bno where book.bname='数据库'and book.bpublish='高教出版社'
select rname from reader,b_r,book where book.bno = b_r.bno and reader.card = b_r.card and book.bname='数据库'and book.bpublish='高教出版社'
select rname from reader where reader.card =(select b_r.card from b_r where b_r.bno = (select book.bno from book where bname ='数据库'and bpublish = '高教出版社'))
/**select rname from reader join b_r join book where book.bno = b_r.bno and reader.card = b_r.card and book.bname='数据库'and book.bpublish='高教出版社' **/
/**查询二**/
select * from book where bprice > (select MAX(bprice) from book where bpublish = '高教出版社')
/**select * from book where bprice in (select MAX(bprice) from book where bpublish = '高教出版社')**/
/**select * from book join (select book.bno,MAX(bprice)as maxp from book where bpublish = '高教出版社')as t on book.bno=t.bno where book.bprice>t.maxp**/
/**查询三**/
select reader.rname,book.bname from reader,book,b_r where age<20 and b_r.bno = book.bno and b_r.card= reader.card
select rname,book.bname from book,(select rname,b_r.bno from reader,b_r where reader.card=b_r.card and age<20)as t where book.bno=t.bno
/**其实还有个用户赵八的年龄符合,但是他没借书就没记录**/
完整实验1-8链接
实验数据库1-8