he cometido un error y entraron:SQL con Limit1 devuelve todos los registros
SELECT * FROM table LIMIT1
en lugar de
SELECT * FROM table LIMIT 1
(tenga en cuenta el espacio entre LIMIT
y 1
)
en el CLI de MySQL . Esperaba recibir algún tipo de error de análisis, pero me sorprendió, porque la consulta devolvió todos los registros en la tabla. Mi primer pensamiento fue "Estúpido MySQL, apuesto a que esto devolverá el error en PostgreSQL", pero PostgreSQL también devolvió todos los registros. Luego lo probé con SQLite, con el mismo resultado.
Después de algunas excavaciones, me di cuenta de que no importa lo que ingrese después de la mesa. Mientras no hay WHERE/ORDER/GROUP
cláusulas:
SELECT * FROM table SOMETHING -- works and returns all records in table
SELECT * FROM table WHERE true SOMETHING -- doesn't work - returns parse error
supongo que este es un comportamiento normalizado, pero no pude encontrar ninguna explicación de por qué es eso. ¿Algunas ideas?
Se puede dar cualquier tabla un alias en una consulta. Esto le permite realizar autocombinaciones (especifique la misma tabla más de una vez). –
@ NikolaMarkovinović Spot on.El OP tiene un alias de 'table' como' LIMIT1' Deberías publicar como respuesta. –
Sugiera que la única etiqueta que pertenece aquí es 'sql' – Smandoli