T-SQL 无参数的存储过程的创建和执行

本文介绍了一个SQL Server的存储过程,用于查询学生考试成绩并进行统计分析。该过程首先展示每个学生的总分,然后计算各班级的平均成绩,并按班级ID排序。通过使用临时表#scoreTemp来存储中间结果,提高了查询效率。
 1 use StudentManager
 2 go
 3 if exists(select * from sysobjects where name='usp_ScoreQuery')
 4 drop procedure usp_ScoreQuery
 5 go
 6 create procedure usp_ScoreQuery --创建存储过程
 7 as
 8     --查询考试信息
 9     select Students.StudentId,StudentName,ClassName,
10               ScoreSum=(CSharp+SQLServerDB) from Students
11     inner join StudentClass on StudentClass.ClassId=Students.ClassId
12     inner join ScoreList on Students.StudentId=ScoreList.StudentId
13     order by ScoreSum DESC
14     --统计分析考试信息
15     select StudentClass.ClassId,C#Avg=avg(CSharp),DBAvg=avg(SQLServerDB)  into #scoreTemp
16     from StudentClass 
17     inner join Students on StudentClass.ClassId=Students.ClassId
18     inner join ScoreList on ScoreList.StudentId=Students.StudentId
19     group by StudentClass.ClassId order by ClassId
20     select ClassName,C#Avg,DBAvg from #scoreTemp
21     inner join StudentClass on StudentClass.ClassId=#scoreTemp.ClassId
22 go
23 exec usp_ScoreQuery  --调用存储过程
这里的  into #scoreTemp  是把查询的数据放入到临时表中

 

 

转载于:https://www.cnblogs.com/Spinoza/p/10051116.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值