Sto sviluppando uno script che calcola il preventivo per un'agenzia di viaggi.
Come sapete il prezzo cambia in base alla stagione.

Nel database ho
date_from - date_to
2009-05-02 | 2009-05-09
2009-04-11 | 2009-04-18
2009-04-18 | 2009-04-25
2009-04-25 | 2009-05-02
2009-05-02 |2009-05-09
2009-05-09 | 2009-05-16
2009-07-04 | 2009-07-11
2009-07-11 | 2009-07-18

Insomma tutti intervalli di date, ogni riga ha un certo ID, quello che devo fare io è ricavare tutte righe che includano i periodi di vancanza scelti dal cliente.
Ho provato con

SELECT * FROM `packages` WHERE `date_from` >='2009-05-01' and `date_to` <= '2009-07-15'

Ma in questo caso non ottengo l'ultima riga del database, ovvero l'intervallo
2009-07-11 | 2009-07-18
questo perchè 2009-07-11 è si >= di '2009-05-01' ma 2009-07-18 NON è <= a '2009-07-15'.

Come faccio ad includere anche questo risultato? Sbaglio la query?