sql >> Base de Datos >  >> RDS >> Sqlserver

¿GARANTIZA UNION ALL el orden del conjunto de resultados?

No hay un orden inherente, debe usar ORDER BY . Para su ejemplo, puede hacer esto fácilmente agregando un SortOrder a cada SELECT. Esto mantendrá los registros en el orden que desee:

SELECT 'O', 1 SortOrder
UNION ALL
SELECT 'R', 2
UNION ALL
SELECT 'D', 3
UNION ALL
SELECT 'E', 4
UNION ALL
SELECT 'R', 5
ORDER BY SortOrder

No puede garantizar el pedido a menos que proporcione específicamente un pedido antes de la consulta.