Before you continue reading this blog post, please note that I personally do not prefer to use to NOLOCK hints in my business, as it will read the dirty data and often reading uncommitted data creates problems with database integrity. There are many different ways to tune your query rather than using NOLOCK hint or using read uncommitted transaction isolation.
Let us see first a simple example how NOLOCK hint works with multiple tables.
SELECT * FROM [Application].[Cities] ct WITH (NOLOCK) INNER JOIN [Application].[StateProvinces] sp WITH (NOLOCK) ON ct.StateProvinceID = sp.StateProvinceID GO
Now we will convert the same script to use read uncommitted transaction isolation.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED GO SELECT * FROM [Application].[Cities] ct INNER JOIN [Application].[StateProvinces] sp ON ct.StateProvinceID = sp.StateProvinceID GO SET TRANSACTION ISOLATION LEVEL READ COMMITTED GO
Technically, there is absolutely no difference between the performance and impact of both the methods. I prefer to use the second method more often as it is easier to write and test. Again, if possible, I like to stay away from reading uncommitted methods to read the data.
Reference: Pinal Dave (https://blog.SQLAuthority.com)