меньшая дата должна быть первой
between '2009-06-01' and '2009-06-16'
вместо
between '2009-06-16' and '2009-06-01'
Также будьте осторожны при использовании между ними, потому что вы получите значение полуночи с более крупной даты и ничего больше
Посмотрите, как работать с датами в SQL Server?