-4
考慮關係 船(BID,BNAME,顏色), 水手(SID,SNAME,年齡,等級) 儲備(BID,SID,DAY) 我想要檢索的投標如果船已經通過每一個水手保留到所有水手的Oracle SQL查詢,架構鑑於
考慮關係 船(BID,BNAME,顏色), 水手(SID,SNAME,年齡,等級) 儲備(BID,SID,DAY) 我想要檢索的投標如果船已經通過每一個水手保留到所有水手的Oracle SQL查詢,架構鑑於
正確的關係鴻溝實現在這裏。其他人可能會建議進行彙總,但在某些情況下可能會導致誤導性信息(誤報) - 「沒有保留的船是什麼?」
SELECT bid FROM Boat WHERE NOT EXISTS (SELECT sid FROM Sailor WHERE SID NOT IN (SELECT Sid from Reserves WHERE Sailor.SID = Reserves.SID))
保留的船隻,在RESERVES.SID計數船(只算唯一的SID)將是相同的水手的計數:
SELECT bid FROM Reserves
GROUP BY bid
HAVING COUNT(DISTINCT sid) = (SELECT COUNT(sid) FROM Sailor)