查询没有学全所有课程的同学的信息 这种解法不包括什么课都没选的学生 select student.* from student, (select sid, count(cid) as coursecount from sc group by sid) as t1 where student.sid = t1.sid and t1.coursecount<>3 select student.* from sc ,student where sc.SId=student.SId GROUP BY sc.SId Having count(*)<(select count(*) from course) 利用笛卡尔积可以把什么课都没选的同学查询出来 select distinct student.* (select student.sid,course.cid student,course ) as t1 left join sc.sid,sc.cid sc)as t2 on t1.sid="t2.SId" and t1.cid="t2.CId,student" where t2.sid is null student student.sid not in ( sc, sc.sid="student.sid" group by sid having>