次のリレーショナルスキーマでは、DATERANGEから予約されていない利用可能な「基本」タイプの部屋をどのように導き出すことができますか。これが私のショットです。私はsqlplusでオラクルを使用しています
SELECT *
FROM ROOM r, BOOKING b
WHERE NOT EXISTS
(SELECT * FROM BOOKINGROOM br
WHERE br.ROOMNO = r.ROOMNO
AND br.BOOKINGID = b.BOOKINGID
AND ARRIVEDATE < '01-FEB-2013'
AND DEPARTDATE > '23-FEB-2013');
また、クエリを「既定のクエリ」にしたいので、終了範囲と開始範囲の日付を手動で追加します。サブクエリの回答が優先されます。
INSERT INTO BOOKING VALUES (2314, 1001, TO_DATE('10-MAR-2013', 'DD-MON-YYYY'), TO_DATE('15-MAR-2013', 'DD-MON-YYYY'), 1225.00);
日付の比較は、おそらく以下の回答で問題になっています。