Sql Server刷题题型总结

本文深入探讨SQL中的高级技巧,包括查询第二高工资的方法,分页同时获取整个表的行数,以及批量插入多行记录的实用技巧。这些技巧对于提升数据库操作效率至关重要。

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

针对返回为空白,进行处理
在这里插入图片描述

例子: 查询第二高的工资

select NULLIF(
    (select MAX(Salary ) from Employee where Salary < (
        select MAX(Salary) from  Employee  )
    )
    ,NULL)     
as SecondHighestSalary

分页同时获取 整个表的行数

set @pageSize = 4
set @pageNumber =1
set @IL_ID = ‘faf57294-e107-4cf3-8131-ad885004a0b5’ –

-**- 获取第一页的时候 没有排除,所以能够获取整个表的行数,**然后获取前4行
select top(convert(int,@pageSize)) DC_ID, IL_ID, DC_Title, CONVERT(varchar(24), ReleaseTime,111) ReleaseTime,DocImage,
COUNT(1) OVER() AS TotalCount – 不分组 进行拷贝
from SP_Info_Docs where IL_ID = @IL_ID
and DC_ID not in(
SELECT top((convert(int, @pageNumber)-1)*convert(int,@pageSize)) DC_ID

第一页没有过滤

前台获取第一页就必须初始化根据查询出来的总行数进行初始化分页。第二次就没法获取表的整个行数了

插入多行sql server
insert into PopTb2
values(xxx,xxx),(yyy,yyy),(zzz,zzz);

==================

insert into PopTb2
select * from PopTbl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值