【SQLServer】SELECT TOPやUPDATE TOPを使う時はorder byを必ず付けなければいけない理由
結論
ランダムで取得されてしまうため。
ランダムでも良いのであればorderbyを付けなくても良い。
UPDATE文の書き方に注意
orderbyを使わない書き方
UPDATE TOP (10) HumanResources.Employee SET VacationHours = VacationHours * 1.25 ;
orderbyを使う場合
UPDATE HumanResources.Employee SET VacationHours = VacationHours + 8 FROM (SELECT TOP 10 BusinessEntityID FROM HumanResources.Employee ORDER BY HireDate ASC) AS th WHERE HumanResources.Employee.BusinessEntityID = th.BusinessEntityID;