资源描述:
《数据库各种语句的使用案例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、现有图书管理数据库的三个关系模式:图书(TSB)(总编号,分类号,书名,作者,出版单位,单价)读者(DZB)(借书证号,单位,姓名,性别,职称,地址)借阅(JYB)(借书证号,总编号,借书日期)一,使用查询分析器完成以下操作:1. 创建一个视图,该视图包括两个字段:读者姓名和书名;视图中的数据从以上三个表中取出;createviewmyp-viewASselect姓名,书名fromTSB,DZB,JYBwhereTSB.总编号=JYB.总编号andDZB.借书证号=JYB.借书证号GO2. 创建一个函数,
2、输入读者姓名,输出读者借书数量;createfunctionsas_function(@姓名nvarchar(255))returnsintASbegindeclare@jsslintselect@jssl=count(*)fromDZB,JYBwhereDZB.借书证号=JYB.借书证号andDZB.姓名=@姓名return@jsslendGO3.创建一个存储过程,输入图书作者姓名,返回借阅该作者所作图书的读者列表(包括姓名、性别和职称)createPROCsat_proc@姓名nvarchar(255)A
3、Sselect姓名,性别,职称fromDZB,JYB,TSBwhereDZB.借书证号=JYB.借书证号andJYB.总编号=TSB.总编号andTSB.作者=@姓名GO二、用SQL完成如下查询:1) 找出姓李的读者姓名和所在单位。select姓名,单位fromDZBwhereDZB.姓名like'李%'2) 列出图书库中所有藏书的书名及出版单位。select书名,出版单位fromTSB3) 查找高等教育出版社的所有图书及单价,结果按单价降序排序。select书名,单价fr
4、omTSBwhere出版单位='高等教育出版社'groupby书名,单价orderby单价desc4) 查找价格介于10元和20元之间的图书种类,结果按出版单位和单价升序排序。select书名,出版单位,单价fromTSBwhere单价>='10'and单价<='20'groupby书名,出版单位,单价orderby出版单位,单价asc5) 查找书名以计算机打头的所有图书和作者。select书名,作者fromTSBwhere书名like'计算机%'6) 检索同时借阅了总编号为1
5、12266和449901两本书的借书证号。select借书证号fromDZBwhere借书证号in(select借书证号fromJYBwhere总编号='112266')and借书证号in(select借书证号fromJYBwhere总编号='449901')7) 查找所有借了书的读者的姓名及所在单位。select姓名,单位fromJYB,DZBwhereDZB.借书证号=JYB.借书证号8) 找出李某所借图书的所有图书的书名及借书日期。select书名,借书日期fromJYB,DZB
6、,TSBwhereDZB.借书证号=JYB.借书证号andTSB.总编号=JYB.总编号andDZB.姓名='李某'9) 查询1997年10月以后借书的读者借书证号、姓名和单位。selectJYB.借书证号,姓名,单位fromDZB,JYBwhereDZB.借书证号=JYB.借书证号and借书日期>1997-10-010) 找出借阅了FoxPro大全一书的借书证号。selectJYB.借书证号fromTSB,JYBwhereTSB.总编号=JYB.总编号andTSB.书名='FoxPro大全
7、'11) 找出与赵正义在同一天借书的读者姓名、所在单位及借书日期。select姓名,单位,借书日期fromJYB,DZBwhere借书日期in(select借书日期fromJYB,DZBwhereDZB.姓名='赵正义')groupby姓名,单位,借书日期12) 查询1997年7月以后没有借书的读者借书证号、姓名及单位。selectJYB.借书证号,姓名,单位fromDZB,JYBwhere借书日期notin(select借书日期fromJYBwhere借书日期>1997-7-0)三、学会利用导出
8、的方法创建图书管理数据库并完成下面SQL高级查询:13) 求科学出版社图书的最高单价、最低单价、平均单价。selectmax(单价),min(单价),avg(单价)fromTSBwhere出版单位='科学出版社'14) 求信息系当前借阅图书的读者人次数。selectcount(JYB.借书证号)as读者人次数fromDZB,JYBwhereDZB.借书证号=JYB.借书证号andDZB.