如果查询要求我执行以下操作:
根据给定的数据集:
结果不应该是空白吗?因为只有 Sam 是四年级的学生,但 Sam 甚至没有入学。那么我们如何才能将 Sam 包含在这个查询中呢?
但我说出了上面的论点,他回答说:
嗨,
这是典型的蕴涵情况,如果前提为假,则蕴涵始终为真。
我提交的查询是:
SELECT S.snum, S.sname, S.year
FROM STUDENT AS S, ENROLLMENT AS E
WHERE S.year = 4
AND S.snum = E.snum
AND (E.cnum LIKE 'c%' OR E.cnum LIKE 'C%')
GROUP BY S.snum, S.sname, S.year
HAVING MIN(grade) >= 90
ORDER BY S.snum ASC, S.sname ASC, S.year ASC;
我确实理解他所说的推论。但我只是不明白它如何适用于这种情况。任何人都可以证明他的回应是合理的吗?谢谢。
如果有人对我问这个问题有疑问,请提前道歉,我仍然不知道为什么 stackoverflow 上的每个人都准备好扑向任何菜鸟问题。
这真的是给出的唯一数据集吗?如果是这样,它应该是空白的,因为正如你所说,唯一的第四年是 Sam,并且数据集中唯一至少具有 90 分的学生是基于 Snum 的 Mary。尽管如此,再次询问你的教授给出的数据集中是否有错误或者是否缺乏确定你的答案。