psqlでjoinを使ってレコードをソートする方法は?コラム のいずれかでソートされたようないくつかのケースではpsqlでjoinを使ってレコードをソートする方法は?
はそうそう、それは ON 後に私たちのクエリをmachesした順序でソートするように思えます。どのようにその完了を確認していない。 特に右と左の結合を使用している間 単純に、レコードを表示する性質は何ですか?
psqlでjoinを使ってレコードをソートする方法は?コラム のいずれかでソートされたようないくつかのケースではpsqlでjoinを使ってレコードをソートする方法は?
はそうそう、それは ON 後に私たちのクエリをmachesした順序でソートするように思えます。どのようにその完了を確認していない。 特に右と左の結合を使用している間 単純に、レコードを表示する性質は何ですか?
一般に、SQLテーブルのレコードには内部的な順序はありません。 Postgres documentationORDER BY
上から:(選択リストが処理された後)クエリが出力テーブルを生成した
た後、それは、必要に応じて並べ替えることができます。 ソートが選択されていない場合、行は不特定の順番で返されます。この場合の実際の注文は、スキャンおよびジョイン・プランのタイプとディスク上の順序に依存しますが、それに頼らざるを得ません。特定の出力順序は、ソート・ステップが明示的に選択されている場合にのみ保証されます。
結果セットで特定の順序を使用する場合は、ORDER BY
を使用する必要があります。たとえば、あなたが使用することができB
二つのテーブルA
に参加していた場合:
select
a.col, a.col2, b.col3
from A a
inner join B b
on a.col = b.col
order by
a.col2 -- or replace with whatever column/logic you want to use
あなたの現在のクエリにある順序があるように見えても、あなたはそれに頼るべきではありません。データを追加したり、列を追加したり、すべての作業を行うと、この「順序」が変更される可能性があります。
ありがとうございます。これは私の質問にも私の答えですが、「内部秩序はありません」 - 公式文書でこれについての引用がありますか? – robincEPtion
@robincEPtion更新された回答を確認してください。 –
@robincEPtion:これはPostgresに固有のものではないことに注意してください。これは、すべてのリレーショナルデータベースシステムに当てはまります。 –
これはあなたが探しているものですか? https://www.w3schools.com/sql/sql_join.asp – kenfire
@kenfire JOINクエリを使用している間、SQLのソート(レコードの表示順序)の性質について質問しています。 – robincEPtion
要約すると、注文はありません。あなたの結果に注文*をしたい場合は、 'order by'句を追加する必要があります – joop