-3

通过使用 LIMIT x,y 子句,使用 mysql 或 postgresql 很容易进行分页。但是,Oracle 或 MSSQL 不支持它。关于为什么的任何见解?

我不是要求替代品,我知道它们(顺便说一句,SQL-SERVER 的 TOP 功能不提供相同的功能)。我想知道是否有任何技术或许可原因,为什么 LIMIT x,y 子句对 Web 开发(分页)非常有用,并且在 MySQL 和 PostgreSQL 中具有非常干净和简单的语法,并且具有复杂的语法,有时涉及子查询, 在其他 RDBMS 中。

4

1 回答 1

2

MS SQL ServerTOP (n)子句。因为Oracle你可以使用ROWNUM. 示例来自SQL Server

SELECT TOP 5 * FROM Table

您也可以将其与ORDER BY clauseas一起使用

SELECT TOP 5 * FROM Table ORDER BY col1

Oracle

SELECT * FROM Table WHERE ROWNUM <= 5

也为Oracle

SELECT * FROM 
(SELECT * FROM Table ORDER BY col1) A WHERE ROWNUM <= 5
于 2013-02-02T23:17:09.527 回答