title: SELECT during a lengthy UPDATE - What happens to SELECT for different Transaction Isolation Levels and SELECT WITH (NOLOCK)?
body: <p>Given an UPDATE execution which takes 5 minutes or so, what happens when SELECT tries to retrieve data from the same table? For different Transaction Isolation Levels and <code>SELECT WITH (NOLOCK)</code>, does SELECT wait for UPDATE? If not, does SELECT return old data (data before the UPDATE) or part of the currently inserted records (such as 50% of the records currently being inserted) ?</p>
  
  <p>If found the following question, but it only describes what happens when you execute and UPDATE during a long SELECT.</p>
  
  <blockquote>
    <p><a href="https://stackoverflow.com/questions/11829529/sql-server-does-select-lock-update">SQL Server - does [SELECT] lock [UPDATE]?</a></p>
  </blockquote>
  
  <p>I am using MS SQL Server 2012. Hopefully, this behaviour is consistent for different implementations.</p>