PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

A ordem em uma subconsulta é garantida para ser preservada?


Não, coloque a ordem na consulta externa:
SELECT name FROM
  (SELECT name, age FROM people WHERE age >= 18) p
ORDER BY p.age DESC
LIMIT 10

A consulta interna (sub) retorna um conjunto de resultados. Se você colocar a ordem por lá, o conjunto de resultados intermediário passado da (sub) consulta interna para a consulta externa terá a garantia de ser ordenado da maneira que você designar, mas sem uma ordem por na consulta externa, o resultado -set gerado pelo processamento desse conjunto de resultados da consulta interna, não tem garantia de ser classificado de forma alguma.