以下の内容はhttps://culage.hatenablog.com/entry/20170824/p1より取得しました。


SqlServerの SELECT TOP 100 PERCENT で作成したビューの並び順は『保証されない』

https://blogs.msdn.microsoft.com/jpsql/2012/02/12/dosdonts-13-order-by-1/
前提としてSqlServerでは、

SELECT TOP n PERCENT * FROM TABLE

という構文で結果全体の上位n%のみを取得するということができる。



VIEWを作成するときに、この構文を使うとviewでorder byを指定できるようになる。なぜならばどの順に並べたときの上位何パーセントを取得するかを指定しなければならないかである。
しかしこれは「取得対象」を指定しているだけであり、「取得順序」はこのorder byで指定した順になるとは限らない。
たとえば、特定順でデータを取得できるVIEWを作ろうとして以下のようなビューを作成しても、『ORDER_COL順に並ぶことは保証されない』。
(この場合のorder byは最適化で削除されるので全くの無意味)

create view NOT_ORDERD_VIEW
as
select top 100 percent *
from TABLE
order by ORDER_COL




以上の内容はhttps://culage.hatenablog.com/entry/20170824/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14