首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

七大資料庫 SELECT TOP/LIMIT/ROWNUM 分頁語法速查表

     編輯:關於SqlServer

各資料庫取前 N 筆/分頁語法差異大,整理速查表供開發參考:

資料庫語法範例備註
Oracle WHERE ROWNUM <= N SELECT * FROM t WHERE ROWNUM <= 10 偽欄位,12c+ 支援 OFFSET/FETCH
Informix SELECT FIRST N * FROM t SELECT FIRST 10 * FROM t
DB2 FETCH FIRST N ROWS ONLY SELECT * FROM t FETCH FIRST 10 ROWS ONLY 或 ROW_NUMBER() OVER() 視窗函數
SQL Server SELECT TOP N * FROM t SELECT TOP 10 * FROM t 2012+ 支援 OFFSET/FETCH
Sybase SET ROWCOUNT N; SELECT * FROM t SET ROWCOUNT 10; SELECT * FROM t Session 級別影響,用畢需重設
MySQL SELECT * FROM t LIMIT N SELECT * FROM t LIMIT 10 分頁 LIMIT offset, count
FoxPro SELECT * TOP N FROM t ORDER BY col SELECT * TOP 10 FROM t ORDER BY id 需搭配 ORDER BY

分頁標準化建議 (SQL:2008)

SELECT * FROM table
ORDER BY key
OFFSET M ROWS FETCH NEXT N ROWS ONLY
  • PostgreSQL、SQL Server 2012+、Oracle 12c+、DB2、MySQL 8.0+ 原生支援
  • 跨資料庫 ORM/框架建議採用此標準語法

效能提醒

  • 大偏移量 OFFSET 效能遞減,考慮游標式分頁 (WHERE id > last_id)
  • 必須有 ORDER BY 確保結果確定性
  • 配合索引覆蓋查詢避免回表

收藏此表,跨資料庫開發不再查文件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved