Это работает, потому что сервер sql не выполняет 1/0
из подзапроса. Вы только хотите считать строки, сервер SQL достаточно умен, чтобы знать, что это дополнительное действие, которое является избыточным. Например, эти два оператора не работают, потому что в этих случаях должно выполняться 1/0
.
select count(*),test from (select 1/0 as test) subquery group by test
select test from (select 1/0 as test) subquery