SQL 练习12
- 查询和" 01 "号的同学学习的课程 完全相同的其他同学的信息
- 分析
- 如果某同学学的某一个课程和01同学所学的课程有对应,那么子查询返回false。
- 如果没有对应,子查询返回true。
- 子查询完毕后,如果子查询为空,说明每一个课程都有对应,那么主查询not exists为true,返回一条记录;
- 如果子查询非空,说明至少有一个课程没有对应,那么主查询not exists为false,不返回对应学生的信息。
SELECT * FROM Student WHERE SId <>'01' AND NOT EXISTS (
SELECT * FROM SC as t1 WHERE SId = '01' AND NOT EXISTS (SELECT * FROM SC as t2 WHERE t2.sid = Student.SId AND t1.cid = t2.cid ))
本文来自博客园,作者:弩哥++,转载请注明原文链接:https://www.cnblogs.com/bangbangzoutianya/p/15158490.html