日期:2014-05-17  浏览次数:20777 次

求教关于SQL的查询
本题用到下面三个关系表:  
 CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级  
 BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数  
 BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期  
查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。
  将上面改成SQL语句,改怎么写呀?

------解决方案--------------------
select br.cno from books b, borrow br where bname='计算方法' and bname <>'计算方法习题集' and b.bno=br.bno order by br.bno desc
------解决方案--------------------
select a.cno
from borrow a,books b
where a.BNO=b.BNO
and b.bname='计算方法'
and a.RDATE >=sysdate
and a.cno not in(select a.cno
from borrow a,books b
where a.BNO=b.BNO
and b.bname='计算方法习题集'
and a.RDATE >=sysdate )
;