For one moment, I thought there was a catch somewhere as the question and code all looked very easy.
It's interesting how the first part of the UNION is a derived table without an outer SELECT. I thought that would raise an error. But it seems the query processor changes the order of the UNION? (EDIT: No, it doesn't.)
Excellent question to start the week. Thank you.
EDIT: Nevermind. I was confused with the parenthesis. SQL Server will allow that just fine. Need more coffee.
Andre Guerreiro Neto