【SQL Server】哪个大神能解答一下啊
发布网友
发布时间:2022-06-15 22:19
我来回答
共3个回答
热心网友
时间:2023-10-29 07:54
(1)查询借阅了类别为“计算机”类图书的所有读者编号、姓名及单位。
select [读者编号],[姓名],[单位] from [借阅] left join [图书] on [借阅].[书号]=[图书].[书号] left join [读者] on [借阅].[读者编号]=[读者].[编号] where [图书].[类别]='计算机';
(2)查询借阅过图书的读者编号、姓名及单位。
select [编号],[姓名],[单位] from [读者] where[编号] in(select DISTINCT [读者编号] from [借阅]);
(3)按出版社分别统计图书的平均价格。
select [出版社],AVG([定价]) from [图书] group by [出版社];
(4)创建视图,查询所有图书的信息,并按照定价降序排序。
create view v_ts
as
select * from [图书] order by [定价] desc
go
(5)创建存储过程,查看借出次数超过10次的所有图书的书号和书名,执行该存储过程,查看结果。
create procere GetCou
as
begin
select [借阅].[书号] from [借阅] left join [图书] on [借阅].[书号]=[图书].[书号] group by [借阅].[书号] having count([借阅].[书号])>=2
end
execute GetCou
(6)创建一个INSERT触发器,当在“读者”表中执行插入操作时,如果单位是“三元公司”或“金山公司”,则撤销该插入操作,并返回出错消息:“不能插入三元公司或金山公司的读者!”。
create trigger [dbo].[ins] on [dbo].[读者]
instead of insert
as
begin
declare @n nchar(4)
select @n=[单位] from inserted
if @n='三元公司' or @n='金山公司'
begin
RAISERROR ('不能插入%s的读者!', 16, 1, @n)
ROLLBACK TRANSACTION
end
end
热心网友
时间:2023-10-29 07:55
select 借阅.读者编号 ,读者.姓名 ,读者.单位 from 读者 join 借阅 on 读者.编号=借阅.编号 where 借阅.书号 in(select 书号 from 图书 where 类别='计算机');
热心网友
时间:2023-10-29 07:55
MS SQL,MYSQL,sybase,access,IBMDB2,exchange,interbase等20多种数据库的损坏修复与丢失恢复业务。精通各类数据库物理存储结构,可以针对故障点进行闪电恢复,根据数据库结构从磁盘打捞丢失的数据库文件。数据库修复找深圳市极佳电脑技术服务有限...