Итак, я готовился к экзамену, и я столкнулся с вопросом, с которым мне как-то нужна помощь.
Код пытается найти имена моряков, которые резервируют все лодки:
SELECT
S.sname
FROM
Sailors S
WHERE
NOT EXISTS ((SELECT B.bid
FROM Boats B)
EXCEPT
(SELECT R.bid
FROM Reserves R
WHERE R.sid = S.sid))
Теперь я чувствую, что получаю большую часть этого, но единственная проблема, которую я имею, это Except
и Not Exists
и как они работают вместе при делении, как в случае, представленном выше.Я думаю, что я получаю то, чего не существует, и, кроме как делаю по отдельности, но вместе это мое заблуждение