[Resolvido] Consulta entre Data de entrada e Data de saida

Oi Pessoal, eu tenho um site de imóveis para alugar - BD : Mysql. Linguagem: PHP:

tabela imoveis = imv_id, titulo, qtdade_hospedes
tabela calendario= calendario_id,imv_id,start,end

São duas datas = Data de entrada e Data de saida eu preciso verificar os imoveis que estarão disponíveis em um período que o hóspede seleciona, exemplo o site booking.

Estou tentando fazer um select assim:
SELECT imv_id,start,end from imoveis_calendario WHERE start BETWEEN '2018-05-12' AND '2018-06-16' OR end BETWEEN '2018-05-12' AND '2018-06-16'
lista corretamente, mais quando coloco da maneira abaixo, para listar os imoveis que não estão dentro deste periodo, não da:
"SELECT * FROM imoveis WHERE NOT EXISTS(SELECT imv_id,start,end from imoveis_calendario WHERE imv_id= imoveis.imv_id AND start BETWEEN '2018-05-12' AND '2018-06-16' OR end BETWEEN '2018-05-12' AND '2018-06-16')"
Como fazer? alguém pode me ajudar?

SELECT * FROM imoveis 
WHERE imv_id 
NOT IN 
    (SELECT imv_id
    WHERE imv_id= imoveis.imv_id 
    AND start BETWEEN '2018-05-12' AND '2018-06-16' 
    OR end BETWEEN '2018-05-12' AND '2018-06-16');

Obrigada - Deu certo!