在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句怎么写

2024年11月30日 01:53
有4个网友回答
网友(1):

1、首先我们先来看一下查询语句的like优化,如下图所示,分别将百分号放在前面和后面。

2、百分号放在后面的查询更高效一些。

3、接下来我们在来看一下OR查询的效率,如下图所示,通过OR来查询两个条件的记录。

4、执行后看执行计划,我们看到这种OR查询的效率也不是很高。

5、如果想替换OR查询就可用Union All来代替,如下图所示,用两个单独的查询实现。

6、第一种很显然会比第二种慢,所以在使用的时候查询条件尽量不要有计算。

网友(2):

在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句示例如下:

select top 20 * from 表 where id not in (select top 10 id from 表 order by id) 
order by id;

以上sql语句实现查询第10条至20条之间的记录,此方法是先取出前20条的ID,排除前10条数据的ID,然后在剩下的数据里面取出前10条数据。


扩展资料

SQL server常用操作sql语句介绍:

1、查询:select * from table1 where 范围

2、插入:insert into table1(field1,field2) values(value1,value2)

3、删除:delete from table1 where 范围

4、更新:update table1 set field1=value1 where 范围

5、查找:select * from table1 where field1 like ’%value1%’

网友(3):

在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句如何写?
如:在SQL SERVER中查询数据库中第10条至30条之间的数据SQL语句如何写?

------解决方案--------------------
select top 20 * from 表 where id in (select top 30 id from 表 order by id)order by id desc
------解决方案--------------------
如果有唯一列可以用ls的

select identity(int,1,1) id,* into temp from 表
select * from temp where id between 10 and 30
------解决方案--------------------
select top 20 * from 表 where 标识字段 not in (select top 9 标识字段 from 表 )
------解决方案--------------------
1
select top 20 * from 表
where id not in (select top 10 id from 表 order by id)
order by id
2--应该从11开始
select * from 表 where id between 11 and 30

网友(4):

--查第3条到第5条 一共3条数据
declare @tou int,@wei int
set @tou = 3
set @wei = 5
select top (@wei - @tou + 1) * from 表名 where id not in (select top (@tou - 1) id from 表名 order by id)

自己把表名替换 运行一下就看到效果了