ほぼ全ての機能を新サイトへ移行しました

問題ID: 19683 について

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021-11-21 13:42
gto510  半人前   投稿数: 6
「UNION演算子の説明として、正しいものはどれか」の回答は
「問合せの結果はソートされる」ですが、本当にそうなのでしょうか。


例題のSQLを実行すると確かにソートされた結果のように見ます。

SQL> SELECT job_id FROM jobs
2 UNION
3 SELECT job_id FROM employees;

JOB_ID
----------
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010

10行が選択されました。

--------------------------------------------
しかし、結合の順番を入れ替えたSQLでは違う結果になります。

SQL> SELECT job_id FROM employees
2 UNION
3 SELECT job_id FROM jobs;

JOB_ID
----------
1002
1001
1003
1005
1006
1007
1008
1004
1009
1010

10行が選択されました。


たまたまjobsのjob_idがソートされた状態で登録されていただけで、結果がソートされたとは思えません。
結果がソートされるのであれば、同じ結果になるべきだと思うのですが...
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-11-21 21:00
gto510  半人前   投稿数: 6
いろんなサイトでも「結果はソートされます!」って書いてありますね。
確認している環境のバージョンが違うのが原因なのだと割り切ることにしました。

「結果がソートされること自体マニュアルで保障された動作ではない」、
みたいなコメントもあったしなぁ。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.
ログイン
ユーザ名 or E-Mailアドレス:

パスワード:







プレミアムコンテンツ

受験チケット(割引)

Contact

LPI-Japan Logo

LPI Logo