sql >> Base de Datos >  >> RDS >> Oracle

¿Por qué Oracle devuelve una secuencia específica si los valores de 'ordenar por' son idénticos?

El orden no se debe a "pura casualidad", a menos que modifique la consulta a:

SELECT
  Date,
  Amount
FROM MyTable
WHERE Date = '26-OCT-2010'
ORDER BY Date, DBMS_RANDOM.VALUE;

El orden es "arbitrario". En lugar de "tirar los dados" para decidir el orden arbitrario (lo que generaría un costo innecesario), Oracle simplemente devuelve los datos en el orden en que los encontró, que probablemente sea el mismo de una ejecución a otra a corto plazo. (A largo plazo, algo puede cambiar en el entorno para que el orden sea diferente, pero aún así arbitrario).