Sería de gran ayuda si se especifica lo base de datos que apuntan a. Diferentes bases de datos tienen diferentes sintaxis y técnicas para lograr esto:
Por ejemplo en Oracle puede ahieve esto poniendo la condición de RowNum
(select ... from ... where ... rownum < 11
-> daría lugar a la salida de los primeros 10 registros)
En MySQL
se puede utilizar puede usar la cláusula limit
.
Microsoft SQL Server =>SELECT TOP 10 column FROM table
PostgreSQL y MySQL =>SELECT column FROM table LIMIT 10
Oracle =>select * from (SELECT column FROM table) WHERE ROWNUM <= 10
(gracias a stili)
Sybase =>SET rowcount 10 SELECT column FROM table
Firebird =>SELECT FIRST 10 column FROM table
NOTA: Modern ORM
herramientas como Hibernate dan API de alto nivel (consulta, restricción, interfaces de Estado) que abstraen la lógica de filas superiores n basado en el dialecto que elija.
Ingres y informix (SQL 92 creo) SELECCIONE PRIMERA columna 10 DE la tabla – corlettk
Yup ...SELECT FIRST 10 es el estándar, al parecer. Ref: http://www.hamslab.com/~man2/sql/SQL98/index.html#sql92 – corlettk
Lo sentimos, pero la solución de Oracle no funciona. Rownum necesita SQL anidado para funcionar, de lo contrario no manejará ningún tipo de orden que no sea el ejemplo trivial sin cláusula de orden. – stili