MySQL - view select rooms not in booking range
Try this:

SELECT r.id
FROM ROOMINFO AS r
WHERE NOT EXISTS (SELECT 1 
                    FROM BOOKROOM br
                    JOIN BOOK b ON br.ref = b.ref
                    WHERE r.id = br.id
                        AND ('2019-11-22' BETWEEN b.Start_Date AND b.End_Date
                            OR '2019-11-28' BETWEEN b.Start_Date AND b.End_Date
                            OR b.Start_Date BETWEEN '2019-11-22' AND '2019-11-28'
                            OR b.End_Date BETWEEN '2019-11-22' AND '2019-11-28'
                            )
                  );


Or if you add room id to BOOK table you could use such query:

SELECT r.id
FROM ROOMINFO AS r
WHERE NOT EXISTS (SELECT 1 
                    FROM BOOK 
                    WHERE r.id = id
                        AND ('2019-11-22' BETWEEN Start_Date AND End_Date
                            OR '2019-11-28' BETWEEN Start_Date AND End_Date
                            OR Start_Date BETWEEN '2019-11-22' AND '2019-11-28'
                            OR End_Date BETWEEN '2019-11-22' AND '2019-11-28'
                            )
                );


In this case you can create supporting index ON BOOK(id, Start_Date, End_Date)