http://q.hatena.ne.jp/1154939690#a584228


先の質問でfreemannさんに頂いた回答ですが、いろいろテストしてみましたが
どうやら、ちゃんとソートされている模様です。

どのような指定でソートしているのか?
もしくは、ソートされないパターンは存在するのか(私のテスト漏れがあるかもしれない)
の2点を 教えてください。

回答の条件
  • 1人5回まで
  • 登録:2006/08/08 13:13:12
  • 終了:2006/08/15 13:15:02

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402006/08/09 03:03:00

ポイント35pt

http://tsubosak.hp.infoseek.co.jp/1-10/3-select.html

UNION での冗長レコード除去処理時に「結果として」ソートされるのだと思います。

Oracle のマニュアルを確認していないので仕様かどうかは分かりませんが、見た目余り気持ちがいいものではありませんね。

冗長な表記であってもコストに差が無ければ ORDER BY を付けるほうが後で混乱しなくて済む気がします。

id:taknt

特に問題は ないんでしょうか?

2006/08/09 14:43:27
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402006/08/09 16:15:50

ポイント35pt

問題とはどの部分に対してでしょうか?

UNION による暗黙のソートを期待することはOracle のバージョンが変わらない限りは大丈夫だとは思います。

ただ、Oracle10gR2 のSQLリファレンス見た限りでは UNION によるソートの記述は見当たりませんでした。

また ORDER BY をつけること自体は可能です。

速度に影響があるかどうかはクエリしだいですので、それぞれに対し、 EXPLAIN を実行するのが確実だと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません