Da quello che mi dici capisco ora che tu dentro 'prenotazioni' hai solo le camere prenotate, io ho pensato che le avessi tutte....

allora ok devi fare la not in (quasi) per forza....

Allora,
tu hai due date
arrivo :2011-10-30
partenza 2011-11-05

vuoi vedere quali camere libere ci sono per la tipologia 1
quindi in prenotazioni deve escludere le camere che:
- sono occupate da prima a dopo il periodo: (data di arrivo < 2011-10-30 AND data di partenza >2011-11-05)
oppure
- iniziano o finiscono l'occupazione proprio nel periodo: ((data_di_arrivo between 2011-10-30 AND 2011-11-04 -possono iniziare il 05 -) OR (data_di_partenza between 2011-10-30 AND 2011-11-05))

SELECT *
FROM camere
WHERE id NOT IN (
SELECT id_camera_assegnata
FROM
prenotazioni
WHERE (
(data_di_arrivo < 2011-10-30 AND data_di_partenza >2011-11-05)
OR ((data_di_arrivo BETWEEN 2011-10-30 AND 2011-11-04)
OR (data_di_partenza BETWEEN 2011-10-30 AND 2011-11-05)
)
AND id_tipo_camera='1' AND flag_conclusa='Y')
AND id_tipo_camera='1'


vedi un po' se ti torna...