网络销售培训学校:那位高手来做一下———SQL Server 2000

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 05:26:09
在一个数据库系统中,包含有三个数据表:学生档案表(学号、姓名、性别、班级名称)、图书信息表(图书编号、图书名称、出版社、出版日期)和借阅信息表(学号,图书编号、借阅日期、归还日期),编写命令实现下列功能。(15分)
1) 分组统计每本图书的借阅次数;
2) 返回学生(学号为‘01’)借阅的图书编号、图书名称和借阅日期;
3) 定义存储过程实现图书信息的插入;
4) 定义存储过程根据借阅日期返回借阅图书情况信息;
5) 定义一个函数,给出学生的学号、返回学生的姓名。
说明:
学生档案表的定义格式:
CREATE TABLE XSDAB
(
XH VARCHAR(20) not null, --学号
XM VARCHAR(40), --姓名
XB BIT DEFAULT 0, --0-表示女 1-表示男
BJMC VARCHAR(40) --班级名称
)
图书信息表的定义格式
CREATE TABLE TSXXB
(
TSBH VARCHAR(20), --图书编号
TSMC VARCHAR(80), --图书名称
CBS VARCHAR(60), --出版社
CBRQ DATETIME --出版日期
)
借阅信息表的定义格式:
CREATE TABLE JYXXB

XH VARCHAR(20), --学号
TSBH VARCHAR(20), --图书编号
JYRQ DATETIME, --借阅日期
GHRQ DATETIME --归还日期

1) 分组统计每本图书的借阅次数
select b.TSBH,a.TSMC,Count(b.TSBH)
from TSXXB a join JYXXB b on a.TSBH=b.TSBH
Group by b.TSBH

2) 返回学生(学号为‘01’)借阅的图书编号、图书名称和借阅日期
select a.TSBH,TSMC,JYRQ
from JYXXB a,TSXXB b
where a.TSBH=b.TSBH and a.XH='01'

3) 定义存储过程实现图书信息的插入
Create Procedure proc_TSXXCR
@TSBH VARCHAR(20),
@TSMC VARCHAR(80),
@CBS VARCHAR(60),
@CBRQ DATETIME
AS
Begin
Insert into TSXXB values(@TSBH,@TSMC,@CBS,@CBRQ)
End
Go

4) 定义存储过程根据借阅日期返回借阅图书情况信息
Create Procedure proc_TSJYXX
@JYRQ DATETIME
AS
Begin
select a.XH,a.TSBH,b.TSMC,b.CBS,b.CBRQ,a.JYRQ,a.GHRQ
from JYXXB a,TSXXB b
where a.TSBH=b.TSBH and a.JYRQ=@JYRQ
End
Go

5) 定义一个函数,给出学生的学号、返回学生的姓名
Create Function fun_XSXM(@XH VARCHAR(20))
Returns VARCHAR(40)
AS
Begin
Declare @XM VARCHAR(40)
select @XM=XM from XSDAB where XH=@XH
Return @XM
End

1.分组统计每本图书的借阅次数
select a.TSBH,count(b.XH) from TSXXB a
join JYXXB b on a.TSBH=b.TSBH group by a.TSBH

2.select a.TSBH,b.TSMC,a.JYRQ
from JYXXB a join TSXXB b on a.TSBH=b.TSBH
where a.XH='01'

这点分数,这么大的任务.唉!