I would think this would work. In pseudo code...

(all rooms)
minus
(all rooms booked on 04-jun-06)

so this is...

(select hotel_no, room_no
from room)
minus
(select hotel_no, room_no
from booking
where 04-Jun-2006 between date_from and date_to)

The only question I have - is "between" inclusive or exclusive? I'm not sure but you should be able to test for it. Let me know how you get on.