Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

O UNION ALL garante a ordem do conjunto de resultados


Não há ordem inerente, você deve usar ORDER BY . Para o seu exemplo, você pode fazer isso facilmente adicionando um SortOrder para cada SELEÇÃO. Isso manterá os registros na ordem desejada:
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

Você não pode garantir o pedido, a menos que forneça especificamente um pedido com a consulta.