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
Publicar un comentario