通过如下sql获取你想要的结果: select c_id,cname,s_id,sname from course c,student s where (c_id,cname,s_id,sname) not in (select ts.c_id,ts.cname,ts.s_id,ts.sname from ( select distinct c.c_id,cname,s.s_id,sname from student s inner join sc a on s.s_id=a.s_id inner join course c on a.c_id=c.c_id inner join teacher te on c.t_id=te.t_id ) ts)mysql实现还是和oracle差别比较大,如果用oracle只需要用minus就可以实现了
select c_id,cname,s_id,sname from course c,student s
where (c_id,cname,s_id,sname)
not in
(select ts.c_id,ts.cname,ts.s_id,ts.sname from (
select distinct c.c_id,cname,s.s_id,sname from student s
inner join sc a on s.s_id=a.s_id
inner join course c on a.c_id=c.c_id
inner join teacher te on c.t_id=te.t_id ) ts)mysql实现还是和oracle差别比较大,如果用oracle只需要用minus就可以实现了