一条Sql语句:取出表A中第31到第40记录(面试题)
2010-09-21 10:22
288 查看
写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
答:解1: select top 10 * from A where id not in (select top 30 id from A)
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as
普通做法
select top 10 productid
from Production.Product
where productid not in(
select top 30 productid from Production.Product
order by productid asc
) order by productid asc
临时表做法
declare @table table (id int identity(1,1),pid int)
insert @table(pid)
select productid
from Production.Product
order by productid asc
select productid from Production.Product t1
inner join @table t2 on t1.productid=t2.pid
where t2.id>30 and t2.id<=40
sqlserver2005做法
select * from
(
select productid, ROW_NUMBER() OVER(ORDER BY productid asc) as rowid
from Production.Product
)T
where T.rowid>30 and rowid<=40
答:解1: select top 10 * from A where id not in (select top 30 id from A)
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as
普通做法
select top 10 productid
from Production.Product
where productid not in(
select top 30 productid from Production.Product
order by productid asc
) order by productid asc
临时表做法
declare @table table (id int identity(1,1),pid int)
insert @table(pid)
select productid
from Production.Product
order by productid asc
select productid from Production.Product t1
inner join @table t2 on t1.productid=t2.pid
where t2.id>30 and t2.id<=40
sqlserver2005做法
select * from
(
select productid, ROW_NUMBER() OVER(ORDER BY productid asc) as rowid
from Production.Product
)T
where T.rowid>30 and rowid<=40
相关文章推荐
- [常见面试题]一条Sql语句:取出表A中第31到第40记录,ID可能不是连续的
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- 写出一条SQL语句:取出表A中第31到40行记录(SQLserver,以自增长的ID作为主键,注意:
- 如何写出一条SQL语句:取出表A中第31~40条记录(SQLServer,以自动增长的ID作为主键
- 写一条SQL语句取出第31条到40条记录
- 写出一条Sql语句,取出表A中的第31条到第40条记录。表A以自动增长的ID作为主键。(注意:ID可能不是连续的)
- sql面试题:用一条SQL语句查出不重复的所有记录
- 黑马程序员之SQL学习笔记:取出表A中第31到第40记录
- 分页语句-取出sql表中第31到40的记录(以自动增长ID为主键)
- 用一条SQL语句取出第 m 条到第 n 条记录的方法
- 用一条SQL语句取出第 m 条到第 n 条记录的方法
- 随机取出若干条记录的SQL语句
- 执行一条sql语句update多条记录实现思路
- SQL一条语句统计记录总数及各状态数
- 一条SQL语句,关于字符分割关联多条记录的问题
- 用一条SQL语句删除重复记录
- 一条sql搞定从查询语句中向目标表中插入记录并去重发插入
- 批量替换数据库记录内容的一条SQL语句
- [SQL Tricks] 一条SQL语句向一张表里插入多条记录 (Multi-table inserts in 9i)