Mysql 如何删除涉及多个表的单个表中的行
嗨,我刚刚接触sql,删除记录时遇到了困难。我需要从SubjectCode表中删除所有记录,其中教师是“MARSHALL”。我使用了此查询,但不起作用:Mysql 如何删除涉及多个表的单个表中的行,mysql,Mysql,嗨,我刚刚接触sql,删除记录时遇到了困难。我需要从SubjectCode表中删除所有记录,其中教师是“MARSHALL”。我使用了此查询,但不起作用: delete from subjcode where ( select sa.sno from subjcode sa, teacher, course where teacher.tname = 'MARSHALL' and
delete
from subjcode
where (
select sa.sno
from subjcode sa,
teacher,
course
where teacher.tname = 'MARSHALL'
and teacher.tno = course.tno
and course.cno = sa.cno
) = subjcode.sno;
还有表格及其列:
subjcode: sno,cno,score
course: cno,tno,cname
teacher:tno,tname
我知道我只需要tname、tno和cno,但我不知道正确的查询。请帮我谢谢试试这个:
delete s
from subjcode s
join course c on s.cno = c.cno
join teacher t on c.tno = t.tno
where t.tname = 'MARSHALL';
试试这个:
delete s
from subjcode s
join course c on s.cno = c.cno
join teacher t on c.tno = t.tno
where t.tname = 'MARSHALL';
您可以使用“加入”删除:
delete s
from subjcode s
join course c on s.cno = c.cno
join teacher t on t.tno = c.tno
where t.tname = 'MARSHALL';
请参见以下参考:
delete s
from subjcode s
join course c on s.cno = c.cno
join teacher t on t.tno = c.tno
where t.tname = 'MARSHALL';
请参见以下参考: