Sql-视图练习答案

本文介绍了多个SQL查询语句的使用,包括根据作者查询图书、筛选特定价格范围的图书、查找未录入出版社信息的图书、统计各出版社图书数量、获取图书最高售价、计算平均售价等。还涉及到了更新图书价格的操作以及创建视图来计算学生的平均绩点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.10-1 查询图书表中李凯所著的图书,要求查询结果中包括条形码,书名,作者,出版社4列。

select 条形码,书名,作者,出版社
from 图书
where 作者='李凯'

2.10-2 查询图书表中科学出版社出版的价格在50元以上的图书的信息,要求结果中包括书名,作者,出版社和售价4列。

select 书名,作者,出版社,售价
from 图书
where 售价>'50'

3.10-3 查询图书表中未录入出版社信息的图书,要求结果中包含条形码,书名,出版社3列

分数 

select 条形码,书名,出版社
from 图书
where 出版社 is null

4.10-4 查询图书表中各出版社图书的数目,结果按图书数目降序排序

select 出版社,count(条形码) 图书数目
from 图书
group by 出版社
order by 图书数目 desc

5.10-5 查询图书表中全部图书的最高售价

select max(售价) 最高售价
from 图书

6.10-8 查询图书表中全部图书的最高售价、最低售价和平均售价

select max(售价) 最高售价,min(售价) 最低售价,avg(售价) 平均售价
from 图书

7.10-9 查询图书表中各出版社图书的数目,要求过滤掉数目为1的数据。

select 出版社,count(条形码) 图书数目
from 图书
group by 出版社
having count(条形码) !='1'

 8.10-11将图书表中科学出版社出版的图书价格上涨5%

update 图书
set 售价=售价*1.05
where 出版社='科学出版社'

9.10-24 创建视图计算学生平均绩点

create view V_average_point
as
select B.Sdept,A.Sno,avg(A.point) Average_point
from (
    select Sno,Cno,if(Grade>=60,(Grade-50)/10,0) point
    from SC
    )A,Student B,Course C
where  A.Sno=B.Sno and C.Cno=A.Cno
group by A.Sno

1、使用SQL Server 2000企业管理器和查询分析器工具(即用Transact-SQL语句)创建一个“图书读者数据库”(Book_Reader_DB); 2、使用企业管理器查看Book_Reader_DB的数据库属性,并进行修改,使之符合你的要求; 3、使用企业管理器和在查询分析器中用Transact-SQL语句的两种方法建立图书、读者和借阅三个,其结构为: 图书(书号,类别,出版社,作者,书名,定价,备注); 读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期)。 要求:① 对每个属性选择合适的数据类型;② 定义每个的主码、是否允许空值和默认值等列级数据约束;③ 对每个的名字和中属性的名字尽可能用英文符号标识。 4、实现相关约束:①使用企业管理器来建立上述三个的联系,即实现:借阅图书之间、借阅与读者之间的外码约束;② 实现读者性别只能是“男”或“女”的约束。 5、分别用企业管理器和查询分析器修改的结构。在“图书中,增加两个字段,分别为“数量”和“购买日期”。在“借阅”中增加一个“还书日期”字段。 6、用企业管理器在上述三个中输入部分虚拟数据。 7、在查询分析器中实现基于但个查询 ① select * from Book ② select * from book where Bclass=’计算机’ ③ select count(*) from book group by Bclass ④ select * from Reader ⑤ select * from Borrow ⑥ select rno, count(bno) from Borrow group by rno order by rno ⑦ select bno, count(rno) from Borrow group by bno order by bno
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值