Maison > base de données > tutoriel mysql > « UNION ALL » préserve-t-il l'ordre des lignes dans les jeux de résultats SQL ?

« UNION ALL » préserve-t-il l'ordre des lignes dans les jeux de résultats SQL ?

Linda Hamilton
Libérer: 2024-12-31 00:24:09
original
272 Les gens l'ont consulté

Does `UNION ALL` Preserve the Order of Rows in SQL Result Sets?

UNION ALL garantit-il l'ordre dans les ensembles de résultats ?

En SQL, l'opérateur UNION ALL combine les résultats de plusieurs instructions SELECT. Cependant, cela ne garantit pas l’ordre des résultats. En l'absence de clause ORDER BY, l'ordre des lignes n'est pas défini et peut varier.

Considérez l'exemple fourni dans la question :

SELECT 'O'
UNION ALL
SELECT 'R'
UNION ALL
SELECT 'D'
UNION ALL
SELECT 'E'
UNION ALL
SELECT 'R'
Copier après la connexion

Il est possible que les résultats soient être affiché dans l’ordre « O-R-D-E-R », mais il n’y a aucune garantie. L'ordre peut différer en fonction de facteurs tels que le moteur de base de données, la distribution des données et d'autres optimisations.

Pour appliquer un ordre spécifique, une clause ORDER BY doit être utilisée. Pour l'exemple donné, la colonne SortOrder peut être ajoutée à chaque instruction SELECT :

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
Copier après la connexion

Cette requête triera explicitement les résultats dans l'ordre "O-R-D-E-R". Veuillez noter que l'ajout de la colonne SortOrder n'est nécessaire que si l'ordre souhaité est différent de l'ordre par défaut (qui n'est pas défini dans ce cas).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal