The difference is that you should be using the syntax WITH (NOLOCK)
(or WITH (<any table hint>)
). Why?
-
Without
WITH
is deprecated. From Table Hints on MSDN:Omitting the WITH keyword is a deprecated feature: This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
-
from table1 nolock
does not apply a hint at all - that's an alias. For example:SELECT nolock.name FROM sys.objects nolock ORDER BY nolock.name;
Notice that I can use
nolock
as an alias. No hint is applied here. -
from table1 as mytable nolock
is invalid syntax in modern versions of SQL Server.Msg 1018, Level 15, State 1, Line 12
Incorrect syntax near 'nolock'. If this is intended as a part of a table hint, A WITH keyword and parenthesis are now required. See SQL Server Books Online for proper syntax.