You have a dbo.inventory table and the itemsInStock is 10. Let’s say you run this query: (and you don’t commit the transaction) Why is SQL Server reading a 5 if it hasn’t been committed yet and the default isolation is read committed? Answer Obviously a transaction needs to see everything it changed. In this case the SELECT and the UPDATE