अगर मैं आपकी डीबी संरचना को ठीक से समझ गया हूं, तो आपको उन कमरों में एक पंक्ति ढूंढनी होगी जिनमें उपलब्धता में कोई संबंधित पंक्तियां नहीं हैं।
SELECT r.*
FROM rooms r
LEFT JOIN availability a ON (r.id = a.room_id
AND a.date_occupied BETWEEN :start_date AND :end_date)
WHERE a.id IS NULL