4
この特定の冗長な派生テーブルの順序が保証されない可能性は本当にありますか?
ルーカスエダーとのTwitter会話でこの質問に遭遇しました。 正しい動作は、最も外側のクエリにORDER BY句を適用することですが、ここでは、最も外側のクエリでDISTINCT、GROUP BY、JOINまたはその他のWHERE句を使用していないため、RDBMSは単に内部クエリで並べ替えられた受信データ? SELECT * FROM ( SELECT * FROM table ORDER BY time DESC ) AS t この例をPostgreSQLで実行すると、少なくとも、内部クエリとこの派生テーブルの両方の例の実行プランが同じになり、同じ結果セットが得られます。 したがって、プランナーは最も外側のクエリを冗長にするか、単に内部のテーブルからの結果を通過させるため、単純にそのクエリを破棄すると想定します。 これはそうではないかもしれないと誰もが思いますか?