SQL语句练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

某大学图书馆管理系统

分类(分类编号,类名)

书目(ISBN, 书名,作者,出版社,单价,分类编号)

图书(图书编号,ISBN,是否借出,备注)

读者(借书证号,单位,姓名,性别,职称,地址,联系电话,身份证编号)借阅(借阅编号,借书证号,图书编号,借书日期,归还日期,罚款,备注)*注意可以有相同的书多本(即ISBN相同,但图书编号不同),

用SQL 完成

1 建立表书目,主关键字为ISBN(编码规则请网上查阅)

create table 书目

(ISBN char(13)PRIMARY KEY,

书名varchar(50) ,

作者varchar(50),

出版社varchar(50)

单价float,

分类编号char(10) ,

foreign key分类编号references 分类(分类编号)

)

2 建立表借阅,主关键字为借阅编号,并且是自动递增字段。create table借阅

(

借阅编号int identity(1,1) primary key,

借书证号char(8)

图书编号char(15)

借书日期datetime

归还日期datetime

罚款float,

备注text()

)

3 添加‘2002’号借书证的读者借阅编号‘w11010’的书的借阅信息insert into 借阅(借阅编号,借书证号)values(

update

4 查询“红楼梦“目前可借的各图书编号,及所属版本,出版社。(是否借出为‘否‘的图书)

5查找高等教育出版社的所有书目及单价,结果按单价降序排序ORDER BY 单价DESC

6统计“红楼梦“各版的藏书数量(ISBN不同则版本不同)。

SELECT 书目.ISBN,COUNT(图书编号)

from 书目,图书

WHERE 书目. 书名=’红楼梦’ and书目.ISBN=图书.ISBN

GROUP BY 书目.ISBN

7 查询‘2002’号借书证的读者姓名和所借图书的总价值SELCET 姓名,SUM(单价)

FROM 书目,图书,借阅,读者

where

8 查询‘2002’号借书证借阅未还的图书。

select

where 归还日期IS NULL

9查询所藏图书中,各个出版社的图书最高单价、平均单价和册数10要查询借阅了两本和两本以上图书的读者姓名和单位

select 姓名,单位

from 读者,借阅

where读者.借阅证号=借阅.借阅证号

having count(*)>=2

11.查询‘王二’的单位、所借图书的书名和借阅日期,

12查询每类图书的册数和平均单价。

select 书目.分类编号, count(*),avg(单价)

from 书目,图书

where书目.ISBN= 图书.ISBN

GROUP BY 书目.分类编号

13查询每类图书中多于10册的册数和平均单价(ISBN相同的不重复计算)select 书目.分类编号, avg(单价)

from 书目

GROUP BY 书目.分类编号

HAVING count(*)>10

14检索书名是以“Internet”开头的所有图书的书名和作者。

15分别求出各个单位当前借阅图书的读者人次。

SELECT 单位,count(*) as ‘人次’

from 读者,借阅

where 读者.借阅证号=借阅.借阅证号

group by 单位

16查询各图书的罚款总数。

17查询经济系未还书的读者的姓名和联系电话。

相关文档
最新文档