Maison >base de données >tutoriel mysql >Comment puis-je trier les résultats de plusieurs requêtes SQL UNIONed ?

Comment puis-je trier les résultats de plusieurs requêtes SQL UNIONed ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-11 06:16:41580parcourir

How Can I Order Results from Multiple UNIONed SQL Queries?

Tri des résultats des requêtes SQL combinées à l'aide de UNION

Lorsque vous utilisez UNION en SQL pour combiner les résultats de plusieurs instructions SELECT, vous devrez peut-être trier le résultat final. Comprendre comment fonctionne la commande avec UNION est crucial.

Considérez cet exemple :

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age < 20
UNION
SELECT id, name, age
FROM Student
WHERE age > 30;</code>

Le simple fait d'ajouter une clause ORDER BY à chaque SELECT déclaration individuelle n'ordonnera pas le résultat combiné final. Les clauses ORDER BY de chaque sous-requête ne concernent que les résultats de cette sous-requête spécifique avant leur combinaison.

Pour trier correctement l'ensemble de résultats combiné, placez la clause ORDER BY après l'instruction UNION finale :

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age < 20
UNION
SELECT id, name, age
FROM Student
WHERE age > 30
ORDER BY name;</code>

Dans cette requête révisée, la clause ORDER BY name s'applique à l'ensemble de données produit par l'opération UNION. Les résultats combinés sont traités comme un seul tableau, puis triés par ordre alphabétique selon la colonne name. Cela garantit un classement correct, quelle que soit la sous-requête d'origine qui a fourni les données.

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!

Déclaration:
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