一、Sql语句与存储过程比较,各有什么优缺点
1、存储过程是将代码封装起来,提高了代码的重用率;
2、降低了网络的流量,存储过程是直接存储在数据库中,所有不会产生大量sql语句的流量
3、可维护性比较高,更新存储过程往往比更改、测试SQL的时间少
4、代码精简、方便,一个存储过程可以存放在不同程序的不同位置;
5、安全性,在一定程度提高了代码的安全,防止了SQL注入
写一条SQL语句,筛选出每门课程的前两名的学生编号、课程编号、成绩并列序。
方法1
select * from (
select *,row_number() over(partition by cid order by ac desc) as num from Table_1) as temp
where num<3
go
方法二
select * from Table_1 as a where sid in
(select top 2 sid from Table_1 where a.cid=cid order by ac )