显示查询结果的一部分,各个数据库写法是不一样的.
DB2
select * from emp fetch first 5 rows only
mysql和postgreSql
select * from emp limit 5
oracle:
select * from emp where rownum>=5
sqlserver:
select top 5 * from emp
其中oracle是这样解析的:
-
Oracle executes your query.
-
Oracle fetches the first row and calls it row number 1.
-
Have we gotten past row number 5 yet? If no, then Oracle returns the row, because it meets the criteria of being numbered less than or equal to 5. If yes, then Oracle does not return the row.
-
Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
-
Go to step 3.