如何寫出一條SQL語句:取出表A中第31~40條記錄(SQLServer,以自動增長的ID作爲主鍵

注意: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)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章