Ajuda com construção de Select

Bom dia Pessoal.
Estou com uma ideia aqui mas não estou conseguindo achar um jeito de implementar.
Tenho 3 tabelas.

  • Tabela Quartos
  • Tabela Lista de Quartos
  • Tabela Reserva

A Tabela Quartos é responsável por armazenar os dados do quarto de um hotel (Número do quarto, Classificação, Composição e Valor).
A Tabela Lista de Quartos é responsável por armazenar quais quartos estão incluídos em uma reserva (Cada reserva pode ter 1 ou mais quartos inclusos).
A Tabela Reserva é responsável por armazenar os dados como: ID reserva, Data e Hora de entrada e saída, ID Cliente, ID Lista de Quartos e Estado (o estado pode ser reservada, confirmada, cancelada).

Vamos ao problema:
Na tela de inclusão dos quartos da reserva, preciso montar um select que me retorne os quartos disponíveis em um intervalo de data.

O resultado dessa consulta seria mostrada num JTable.

Se alguém puder me ajudar, ficarei muito agradecido.

SELECT
q.id, q.numero, q.classificacao, q.composicao, q.valor
FROM
RESERVA r
INNER JOIN LISTA_QUARTO lq
ON r.id = lq.reserva_id
INNER JOIN QUARTO q
ON lq.quarto_id = q.id
WHERE r.data BETWEEN ? AND ?;