I'm using Microsoft SQL Server 2019 and when I execute:
SELECT TOP 10 * FROM WideWorldImporters.Sales.Invoices SELECT TOP 10 CustomerID FROM WideWorldImporters.Sales.Invoices
It gives results:
Which is incorrect because those aren't the "top 10" customer IDs as displayed by the first query.
Edit: The behaviour I expected above matches what actually happens in SQL Sever 2014. I suspect they changed the underlying implementation in SQL Server 2019, although it still satisfies the documented behaviour.