Вы не используете поле из своей таблицы для сравнения с диапазоном дат.
То, что вы делаете, проверяет, находится ли 04-03-2011 между 02-03-2011 и 10-03-2011, что верно для каждой записи.
Что вы хотите сделать, это примерно так (при условии, что start_date - это столбец в вашей таблице):
String sql="select id from period where start_date between '"+d1+"' and '"+d2+"'";
(Также я согласенс ответом выше, что подготовленные операторы являются лучшим способом для построения запросов.)