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

L'ordre dans une sous-requête est-il garanti d'être préservé ?

Non, mettez la commande par dans la requête externe :

SELECT name FROM
  (SELECT name, age FROM people WHERE age >= 18) p
ORDER BY p.age DESC
LIMIT 10

La (sous-)requête interne renvoie un ensemble de résultats. Si vous mettez l'ordre par là, alors le jeu de résultats intermédiaire passé de la (sous-)requête interne à la requête externe est garanti d'être ordonné comme vous le désignez, mais sans ordre par dans la requête externe, le résultat -set généré par le traitement de cet ensemble de résultats de requête interne, n'est pas garanti d'être trié de quelque manière que ce soit.