哪个数据库发明了"限制"SQL查询语法?

How*_*ard 7 mysql sql postgresql

MySQL有一个很好的功能(虽然非标准),它允许查询结果集的限制,偏移为

SELECT * FROM TABLE LIMIT M, N;
Run Code Online (Sandbox Code Playgroud)

它是由MySQL创建的吗?还是Postgres?

Mar*_*ers 13

根据维基百科,Rasmus Lerdorf(PHP的原始创建者)首先在mSQL数据库中使用"LIMIT x"语法:

他为Apache HTTP Server做出了贡献,他还提出了LIMIT子句并于1995年将其添加到mSQL数据库中.它是MySQL和PostgreSQL中发现的LIMIT子句的起源.

现在,限制结果集也是标准化的,但语法更详细:

SELECT *
FROM T
FETCH FIRST 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

  • 公平地说'FETCH FIRST 10 ROWS ON'与'LIMIT 10'相比很糟糕. (8认同)
  • 标准SQL糟透了.我想这是一个传统. (5认同)

OMG*_*ies 5

Postgres 19996月9日发布的v6.5中添加了LIMIT语法.

根据文档,MySQL的LIMIT语法从v3.23(生产版本2001年1月)开始.但是URL中的文档是针对4.1的,直到2004年才发布.

SQL Server在2000 年末出货的 SQL Server 2000之前没有TOP .

自从1988年发布的Oracle 6以来,Oracle已经拥有了ROWNUM.更可怕的是,它在ROW_NUMBER的情况下表现更好!


Mag*_*der 3

在PostgreSQL和MySQL之间,PostgreSQL复制了MySQL的LIMIT语法(v6.5),并添加了OFFSET语法(可能也是复制的,但我认为当时mysql只有逗号语法)。然后(7.2)更改为允许“LIMIT foo OFFSET bar”,因为 MySQL 语法不清楚。