8
votes

Quelle base de données a inventé la syntaxe de la requête SQL "limite"?

mySQL a une fonctionnalité intéressante (bien que non standard) qui permet de demander la limite des résultats des résultats, le décalage comme xxx

est créé par mysql? ou postgres?


1 commentaires

La syntaxe MySQL suce, le premier paramètre a deux significations différentes: décalage ou limite.


5 Réponses :


14
votes

Selon Wikipedia, rasmus lerdorf (le créateur d'origine de PHP) a d'abord utilisé la "limite x "Syntaxe dans la base de données MSQL:

Il a contribué au serveur HTTP Apache et Il a également proposé la clause limite et l'a ajouté au base de données MSQL en 1995. Il s'agit de l'origine des clauses limites trouvées dans MySQL et PostgreSQL.

limitation de l'ensemble de résultats est maintenant aussi normalisé, mais avec une syntaxe plus verbeuse: xxx


6 commentaires

Pour être juste récupérer les 10 premières lignes seulement est juste équestre par rapport à limite 10 .


SQL standard suce. Je suppose que c'est une tradition.


@Mark Byers - Il est clair que les personnes qui ont construit VB doivent consulter le peuple ISO sur les normes SQL étant donné comment le verbeux qui est.


@THOMAS, Microsoft construit VB et Microsoft's T-SQL's T-SQL est agréable avec le top N. Quelqu'un d'autre est derrière cela.


@THOMAS - Pire, je pense que c'est le comité ANSI J4 COBOL


Une telle syntaxe redondante. Pourquoi Fetch ? Que feriez-vous d'autre avec les résultats d'un sélectionner ? Pourquoi lignes ? Quoi d'autre voudriez-vous stocker dans une table? Pourquoi seulement ? Comme si une implémentation de SQL accepterait votre clause limite et vous donnerait de toute façon le jeu de données complète.



5
votes

postgres a ajouté le Syntaxe limite en V6.5 , publié sur 9 juin 1999 .

basé sur la documentation , MySQL avait la syntaxe limite À partir de V3.23 ( version de production Jan, 2001 ). Mais les documents de l'URL sont pour 4.1, qui n'a pas été publié avant 2004.

SQL Server n'avait pas haut avant SQL Server 2000, expédition à la fin de 2000 .

oracle a eu Rownum depuis Oracle 6 , libéré dans 1988 . Plus effrayant est-ce que cela peut mieux fonctionner dans des cas que Row_Number!


2 commentaires

Il y a 22 ans? Wow ... parler de jeûne!


Limite / décalage a été ajouté à PostgreSQL 6.5 et est entièrement documentée là-bas. Vous êtes en train de relier à 6.3 Documentation ... (FWIW, 6.5 a été publié en juin 1999, mais c'était toujours après la limite d'ajout de MySQL)



0
votes

Je sais que RDB (produit à l'origine d'un produit de décharge à l'origine, disponible à partir de Oracle) avait limité à N rangées en 1991.

Partager et profiter.


0 commentaires

3
votes

entre PostgreSQL et MySQL, PostgreSQL a copié la limite de syntaxe de MySQL (en V6.5) et a ajouté la syntaxe de décalage (ce qui a peut-être été copié également, mais je pense que MySQL n'avait que la syntaxe des virgules puis ). Il s'agissait alors (7.2) modifié pour seul autoriser la "barre de décalage de la limite FOO" car la syntaxe MySQL n'était pas claire.


0 commentaires

4
votes

MySQL la copie de MSQL, que Rasmus Lerdorf prévoit la mise en œuvre: http://itc.conversationsNetwork.org/shows/detetail3298.html

Cela ne veut pas dire que MSQL était le premier, mais il ressemble plus loin que ceux mentionnés jusqu'à présent.


0 commentaires