Какая база данных изобрела “предельный” синтаксис SQL-запроса?

MySQL имеет хорошую функцию (хотя нестандартный), которые позволяют запрашивать предел наборов результатов, смещать как

SELECT * FROM TABLE LIMIT M, N;

Это создается MySQL? или Пост-ГРЭС?

7
задан Donal Fellows 12 June 2010 в 14:35
поделиться

5 ответов

Между PostgreSQL и MySQL PostgreSQL скопировал синтаксис LIMIT из MySQL (в v6.5) и добавил синтаксис OFFSET (возможно, он тоже был скопирован, но я думаю, что тогда в mysql был только синтаксис с запятой. ). Затем он был изменен (7.2) на , только разрешил «LIMIT foo OFFSET bar», потому что синтаксис MySQL был неясен.

3
ответ дан 6 December 2019 в 07:05
поделиться

Postgres добавил синтаксис LIMIT в v6.5 , выпущенную 9 июня 1999 г. .

Согласно документации , MySQL имел синтаксис LIMIT, начиная с версии 3.23 ( производственный выпуск, январь 2001 г. ). Но документы в URL относятся к версии 4.1, которая не была выпущена до 2004 года.

SQL Server не имел TOP до SQL Server 2000 , выпущенного в конце 2000 года .

Oracle имеет ROWNUM со времени выпуска Oracle 6 , выпущенного в 1988 . Еще страшнее то, что он может работать лучше в случаях, чем ROW_NUMBER!

5
ответ дан 6 December 2019 в 07:05
поделиться

MySQL скопировал его из mSQL, который, как заявляет Расмус Лердорф, реализует: http://itc.conversationsnetwork.org/shows/detail3298.html

Нельзя сказать, что mSQL был первым, но похоже, что он самый ранний из упомянутых до сих пор.

4
ответ дан 6 December 2019 в 07:05
поделиться

Согласно Википедии, Расмус Лердорф (первоначальный создатель PHP) первым использовал синтаксис «LIMIT x» в базе данных mSQL:

Он внес свой вклад в HTTP-сервер Apache и он также придумал предложение LIMIT и добавил его в базу данных mSQL в 1995 году. Это источник предложений LIMIT, найденных в MySQL и PostgreSQL.

Ограничение набора результатов теперь также стандартизировано, но с более подробным синтаксисом:

SELECT *
FROM T
FETCH FIRST 10 ROWS ONLY
13
ответ дан 6 December 2019 в 07:05
поделиться

Я знаю, что Rdb (первоначально продукт корпорации DEC, теперь доступный в Oracle) еще в 1991 году имел ОГРАНИЧЕНИЕ НА n ROWS.

Поделитесь и наслаждайтесь.

0
ответ дан 6 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: