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

还是比较基础的,版主些费神了
复习了20多道,还有6道,做了几个,但还是有些毛病,还是有些不确定。请版主些和牛人些费神啦。


------最佳解决方案--------------------
引用:
1.输入语句,根据语义为借书表(borrow)的“图书编号”(bno)列和“读者编号”(rno)列建立外键,并要求级联删除(也就是当删除图书或读者记录时,自动删除借阅表中的相应记录)。
alter table borrow add constraint FK_book
foreign key (bno)
references book([bno]) ON UPDAT……


分接好
------其他解决方案--------------------
1.输入语句,根据语义为借书表(borrow)的“图书编号”(bno)列和“读者编号”(rno)列建立外键,并要求级联删除(也就是当删除图书或读者记录时,自动删除借阅表中的相应记录)。
2.输入语句,查询“李莎”的借书记录,查询结果按借书日期降序排序
3.输入语句,查询没有借过“数据库原理”的读者的“读者编号”和“读者姓名”


------其他解决方案--------------------
4.输入语句,建立新的名为“view1”的视图,该视图检索每个读者的借阅次数(如果某个读者没有借过任和书,那么该读者的借阅次数为0),检索结果由“读者编号”和“借阅次数”两列组成。。 
  我的答案,不知道对不对 create view view1
as
select rno as 读者编号,count(*) as 借书次数
from borrow
group by rno
5.输入语句,在上述视图“view1”中查询借阅次数最多的“读者编号”。。 
   
6.输入语句,建立拥有一个参数的名为“bookproc”的存储过程,用来查询图书表中由该参数所指定的出版社所出版的所有图书的图书编号、图书名称和出版时间,然后执行该存储过程,并将输入参数赋值为“出版社A”。

------其他解决方案--------------------
该回复于2012-12-07 21:44:04被版主删除
------其他解决方案--------------------
在回家的地铁上…爱莫能助啊
------其他解决方案--------------------
2.输入语句,查询“李莎”的借书记录,查询结果按借书日期降序排序
select * 
from 借书表 
where 读者编号 in (select 读者编号 from 读者表 where 读者姓名='李莎')
order by 借书日期 desc
------其他解决方案--------------------
4.输入语句,建立新的名为“view1”的视图
create view view1
 as
 select b.rno as 读者编号,SUM(case when a.rno IS null then 0 else 1 end) as 借书次数
 from borrow as a right join reader as b on a.rno=b.rno
 group by b.rno
------其他解决方案--------------------
引用:
在回家的地铁上…爱莫能助啊




这么晚了才回家啊。 真是辛苦。 快回家助我一臂之力啊
------其他解决方案--------------------
引用:
2.输入语句,查询“李莎”的借书记录,查询结果按借书日期降序排序
select * 
from 借书表 
where 读者编号 in (select 读者编号 from 读者表 where 读者姓名='李莎')
order by 借书日期 desc



牛逼 牛逼
------其他解决方案--------------------
5.输入语句,在上述视图“view1”中查询借阅次数最多的“读者编号”
select top 1 读者编号 from view1 order by 借书次数 desc
------其他解决方案--------------------
引用:


 不帮忙 你就dead吧
------其他解决方案--------------------
6.输入语句,建立拥有一个参数的名为“bookproc”的存储过程
create proc p_book
@publish varchar(100)
as
select bno,bname,pubdate from book where PUBLISH=@publish
---执行
exec p_book '出版社A'
------其他解决方案--------------------