如何写出一条SQL语句:取出表A中第31~40条记录(SQLServer,以自动增长的ID作为主键

时间:2021-08-22 20:10:50
注意:ID可能不是连续的。
【考点】
数据表中连续记录的查询方法。
【出现频率】
★★★☆☆
【解答】
SELECT TOP 10 * FROM [A] WHERE [id] NOT IN(SELECT TOP 30 [id] FROM [A])
【分析】
这道题目非常简单,也有多种解答方法。这里作者用IN子句查询出表A的前30条记录,IN子句可确定指定的值是否与子查询或列表中的值相匹配,其语法格式如以下代码所示。
用于测试的表达式 [ NOT ] IN
        ( 子查询 | 表达式列表 [ ,...n ]
        )
为了查询到第31到第40记录,本题解答中在IN前面使用了NOT关键字,对IN子句的结果取反。即表A中所查询的记录要求id字段值不处于前30条记录的id字段值中,然后查询这些记录的前10条即可(TOP 10)。