Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

UNION ALL garantit-il l'ordre du jeu de résultats

Il n'y a pas d'ordre inhérent, vous devez utiliser ORDER BY . Pour votre exemple, vous pouvez facilement le faire en ajoutant un SortOrder à chaque SELECT. Cela conservera alors les enregistrements dans l'ordre que vous souhaitez :

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

Vous ne pouvez pas garantir la commande à moins que vous ne fournissiez spécifiquement une commande par avec la requête.