Select 姓名 From 学生 C JOIN (SELECT 学号 From 学生选课表 A JOIN (SELECT DISTINCT COUNT(课程名) AS 课程数,课程号 From 课程) B ON A.课程号=B.课程号 Where A.Count(课程表)=B.课程数) D ON C.学号=D.学号
感觉这种效率高
select 姓名
from 学生 a
where (select count(*) from 学生选课表 where 学号=a.学号)
=(select count(*) from 课程 )
其次
select * from 学生 s
where not exists(select * from 学生选课表 sk left join 课程表 k on sk.课程号=k.课程号 and sk.学号=s.学号 and k.课程号 is null)