MYSQL检索选修所有课程的学生的学号
SELECT SN FROM S WHERE NOT EXISTS
(SELECT * FROM C WHERE NOT EXISTS
(SELECT * FROM SC WHERE SC.CNO=C.CNO AND SC.SNO=S.SNO));
%伪代码
for S =1:m
for C = 1:n
if S has C, None
else, 记录 S
%S现在为没有选择全部课程的学生
return S 的补集
检索修读了学号为S4的学生所修读的所有课程的学生的姓名
SELECT SN FROM S WHERE NOT EXISTS
(SELECT * FROM SC AS SCX WHERE SNO='S4' AND NOT EXISTS
(SELECT * FROM SC AS SCY WHERE SCY.SNO=S.SNO AND SCY.CNO=SCX.CNO));
原文:https://www.cnblogs.com/kexve/p/11760096.html