select startdate, enddate
from YOURTABLE
where (date_format(str_to_date(STARTDATE, "%d-%m-%Y"), "%Y-%m-%d") between
date_format(str_to_date('01-06-2007', "%d-%m-%Y"), "%Y-%m-%d")
and date_format(str_to_date('29-07-2007', "%d-%m-%Y"), "%Y-%m-%d")) or (date_format(str_to_date(ENDDATE, "%d-%m-%Y"), "%Y-%m-%d") between
date_format(str_to_date('01-06-2007', "%d-%m-%Y"), "%Y-%m-%d") and date_format(str_to_date('29-07-2007', "%d-%m-%Y"), "%Y-%m-%d"))