Ir al contenido principal

Controlando el Orden de las Filas devueltas

Por defecto, la salida de una Consulta Compuesta con el operador UNION ALL no son ordenados en absoluto. Las filas serán devueltas en grupos en el orden en el cual las consultas fueron listadas, primero se desplegaran las filas de la primera consulta de arriba abajo, segundo se listaran las filas de la segunda consulta y las filas serán desplegadas en el orden que fueron almacenadas.
La salida de cualquier otro Operador de Conjuntos serán ordenados de forma ascendente en todas las columnas, iniciando de la primera columna.
No es posible sintácticamente utilizar la clausula ORDER BY en las consultas individuales que conforman una consulta compuesta. Esto es porque la ejecución de una Consulta Compuesta incluye un Ordenamiento, que provocaría un conflicto con las clausula ORDER BY individuales.
Podría parecer que teóricamente  es posible que un UNION ALL  pueda tomar un ORDER BY por cada consulta. Pero la Implementación de Oracle de UNION ALL no lo permite.
Esto no es un problema para poner una Clausula ORDER BY en el final de la Consulta Compuesta, sin embargo. Esto ordenara la salida completa de la Consulta Compuesta.
El Ordenamiento por defecto de las filas es basado en todas las columnas en la secuencia que aparecen. Una clausula ORDER BY no tiene restricciones. Puede estar basada sobre cualquier columna y en cualquier orden.

Tenga en cuenta que los nombres de columnas en la clausula ORDER BY deben ser los nombres de columnas de la primera consulta.

Comentarios