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