有3张表,分别为 student学生表:sid(学号,number),sname(姓名,varchar2); class课程表:cid(课程号,number),cname(课程名称,varchar2); score成绩表:sid,cid,score(成绩,number),re(备注,varchar2)。
将成绩表中sid未曾在student或cid未曾在class表出现过的记录删除;
将成绩表中sid未曾在student或cid未曾在class表出现过的记录删除;
调试欢乐多
--或者
delete from class where class.cid not in (select cid from score);
delete from score sc
where not exists (select 1 from student st where st.sid = sc.sid)
or not exists (select 1 from class cl where cl.cid = sc.cid);--方法2:使用in
delete from score sc
where sc.sid not in (select st.sid from student st)
or sc.cid not in (select c1.cid from class cl);