人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

RDBMSであるテーブルにA,B,Cの順で行をINSERTし、SELECTでORDER句を指定せずに取り出した場合、入れた順番のA,B,Cの順で出てくると考えても構わないでしょうか?
それに依存したコードを書こうとしているので「やってみたらそうなった」という回答ではなく、「そうなることが保証されている/されていない」という回答でお願いします。

●質問者: westfish
●カテゴリ:コンピュータ
✍キーワード:RDBMS SELECT コード 依存 保証
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● maq
●15ポイント

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25801&am...

保証されていません。


2 ● llusall
●30ポイント

こちら、いかがでしょうか?


2005年度データベース入門(後期クラス)

問い合わせの基礎 -- SELECT

http://sbj.hak.hokkyodai.ac.jp/d0/db/index?submenu=select.html

3 行の並び順指定: ORDER BY

SELECT 文を実行した場合, 出力される行の順番は保証されません。行の順番を指定するには ORDER BY を使います。


SQL

1.4.order by句

http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/db2.html

RDBMSでは、格納されているデータの順番は保証されないので、並べ替えにはorder by句を使います。


MYSQL【基本操作】ソートと件数指定

http://harukaze.net/~hacha/mysql/mysql009.htm

このように、MySQLでは何も指定せずに検索すると、その結果表示の表示順は保証されない事になっています。

※実験されています。


Oracle SQL*Plus

http://takabsd.jp/w/tech/?Oracle

order by を指定しない限り、レコードの順番は保証されない


3 ● kurukuru-neko
●30ポイント ベストアンサー

>入れた順番のA,B,Cの順で出てくると考えても

>構わないでしょうか?

取り出し順序はA,B,Cとなる事は保障されない。

「そうなることは保障されていない」

テーブルの作成時に cluster,ORGANIZATION INDEX

のようなどのような順序でデータベース上保存するかの

制約条件を付けられる場合がある。

複数の装置にデータが保存された分散DBだとさらに

動作は保障されない。

http://www.limy.org/program/db/mysql/mysql_select.html

http://oracle.na7.info/17_cluster.html

[やってみたらそうなった]

http://www10.plala.or.jp/lifedego/others/sql.html


4 ● darktribe
●15ポイント

RDBMSではデータの並び順は完全にランダムなので、INSERT順での取り出しは保証されていません。

そのような作業をする場合、INSERTした順番を主キーに設定し、ORDERする際に主キーでソートすることが推奨されます。

http://q.hatena.ne.jp/1153407134

(URLはダミーです)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ