Normalmente todos son selecciona de forma SELECT [columns, scalar computations on columns, grouped computations on columns, or scalar computations] FROM [table or joins of tables, etc]
porque esto permite que los cálculos escalares de civil que podemos hacer algo como SELECT 1 + 1 FROM SomeTable
y ha de devolver un conjunto de registros con el valor de 2 para cada fila de la tabla SomeTable
.
Ahora, si no nos importara ninguna tabla, pero solo quisiéramos calcular nuestro escalar, podríamos hacer algo como SELECT 1 + 1
. Esto no está permitido por el estándar, pero es útil y la mayoría de las bases de datos lo permiten (Oracle no lo hace a menos que haya cambiado recientemente, al menos antes no).
Por lo tanto, estos SELECT desnudos se tratan como si tuvieran una cláusula from que especificaba una tabla con una fila y sin columna (imposible, por supuesto, pero hace el truco). Por lo tanto SELECT 1 + 1
se convierte en SELECT 1 + 1 FROM ImaginaryTableWithOneRow
que devuelve una sola fila con una sola columna con el valor 2
.
Principalmente no pensamos en esto, simplemente nos acostumbramos al hecho de que los SELECT desnudos dan resultados y ni siquiera se piensa en el hecho de que debe haber una sola fila seleccionada para devolver una fila.
Al hacer SELECT COUNT(*)
que hizo el equivalente de SELECT COUNT(*) FROM ImaginaryTableWithOneRow
que por supuesto devuelve 1.
¿Cuál es la consulta exacta? – Reactormonk
No creo nada más que 'SELECT COUNT (*)', sin nombre de tabla. Siempre es 1 – Matten
Hola Tass, la consulta es, cuando ejecuto la consulta sql "Seleccionar recuento (*)", entonces la salida es 1. ¿Qué significa esto 1? Tenga en cuenta que no hay un nombre de tabla especificado en la consulta. – IsmailBaig