2016-08-29 5 views
2

テーブルがEmpの場合、emp_idemp_nameとします。私はテーブルに3つのエントリ - (1,A) (2,B) (3,C)を挿入します。SELECT文は毎回同じ順序でデータを選択しますか?

私は主キーを作成したりインデックスを追加したりしません。

select * statementを実行すると、データは毎回(1,A),(2,B),(3,C)と表示されるか、出力が(2,B), (1,A), (3,C)などのように表示されますか。

+0

参照:http://stackoverflow.com/q/3574284/330315およびhttp://stackoverflow.com/q/36077399/330315 –

+2

実際には、この場合、3つの行がこの順序で挿入され、CIはありません。 NCIなし、更新/削除なし、再構築なしなど - これらの行はこの順序で返されます。もちろん、スキーマやデータ、エンジンの変更によって破損する可能性があるので、ORDER BYが必要です。ところで、私はこの質問がどのようにupvotedになったのか理解できません。 – dean

答えて

3

データはの順番で、の順で、キー、インデックス、またはランダムに表示することができます。

データを強制的に保障する唯一の方法は、毎回同じ順序で表示され、ORDER BY句を使用して、オプティマイザが特に要求した順序でデータを選択するようにします。

0

オーダーを保証するには、「ORDER BY」節を追加する必要があります。それ以外の場合は、dbエンジン、設定、スキーマに依存します。

詳しくは、stackoverflow postをご覧ください。

関連する問題