Me deparei com essa pergunta em uma conversa no Twitter com Lukas Eder .
Embora o comportamento correto seja aplicar a cláusula ORDER BY na consulta mais externa, porque, aqui, não estamos usando DISTINCT, GROUP BY, JOIN ou qualquer outra cláusula WHERE na consulta mais externa, por que um RDBMS não passaria apenas a dados de entrada como foram classificados pela consulta interna?
SELECT *
FROM (
SELECT * FROM table ORDER BY time DESC
) AS t
Ao executar este exemplo no PostgreSQL, pelo menos, você obtém o mesmo Plano de Execução para a consulta interna e este exemplo de tabela derivada, bem como o mesmo conjunto de resultados.
Então, eu diria que o Planner simplesmente descartará a consulta mais externa porque é redundante ou simplesmente passará pelos resultados da tabela interna.
Alguém acha que pode não ser assim?