sql测试

设有“学生Student(sID,sName)”,“课程Course(cID,cName)”,“选课StudentCourse(scID,sID,cID)”这三个表。一个学生可以选修0..n门课,
一门课也可以被0..n个学生选修。请用一条SQL语句找出选修了所有课程的学生姓名。

解:一个学生选择了全部课程说明不存在一个课程他是没有选的
Select sName from Student where not exists //不存在没选的课程号,说明找出选修了所有的课程的学生的姓名
(select * from Course where not exists // 找到学生没选的课程课程号
(select * from StudentCourse where Sid=Student.sID and cID=StudentCourse.cID ) ) //找出学生已经选出来的课程的课程号

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。