Jeśli w formularzu rezerwacji pojawi się prośba o podanie $początkowej i $końcowej daty/godziny rezerwacji, to zapytanie wskaże, które laptopy są dostępne w okresie określonym przez te dwie daty:
SELECT items.id, items.name
FROM items
LEFT JOIN types ON items.type = types.id
LEFT JOIN reservations ON reservations.item_id = items.id
WHERE (((reservations.endDate NOT between $start AND $end) and
(reservations.startDate NOT between $start AND $end)) or
(reservations.id IS NULL)) and
(types.id = $laptop_type_id)
Pierwsze dwa between
klauzule znajdą laptopy, których daty rozpoczęcia/zakończenia nie mieszczą się w żądanych datach rozpoczęcia/zakończenia — np. są zarezerwowane, ale są dostępne w określonym przedziale czasowym. Test null znajdzie wszystkie laptopy, które w ogóle nie są zarezerwowane. A kontrola types.id ogranicza wyszukiwanie tylko do laptopów.