mysql - 删除与依赖表没有任何链接的所有行

标签 mysql sql

我有两张 table 。一个是students,另一个是studentPerformance

students 表包含 idnameemail_id

studentPerformance 表包含 idstudent_idmarks

我的问题是,如何从students表中删除所有在studentPerformance表中没有任何记录的学生?

我用 Google 搜索过,但没有找到任何合适的地方。

谢谢。

最佳答案

左连接:

 DELETE s 
 FROM Students AS s 
 LEFT JOIN StudentPerformance AS sp
  ON sp.student_id = s.id 
 WHERE sp.student_id IS NULL; -- where not match was found (no sp-row)

或不存在:

 DELETE s 
 FROM Students AS s 
 WHERE NOT EXISTS (SELECT 1 FROM StudentPerformance AS sp WHERE sp.student_id = s.id);

关于mysql - 删除与依赖表没有任何链接的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48062411/

相关文章:

MYSQL:使用字母数字 Id 在特定值之后选择接下来的 100 行

派生表中的 MySQL 联合 (related_id=a AND related_id=b) OR (related_id=z)

php - 多种功能的交易

java - Kotlin 中的 JOOQ SUM 与自定义类型

mysql - 查询同一台服务器的两个数据库

mysql - 提取具有最大值的行

mysql - 如何使用内部选择获取 max(count(*)) 的行

php - 使用 mysql 的值创建的 highchart,如何使用 phantomjs 导出它

mysql - 使用 @variable 不适用于 mysql,其中

mysql - 我怎样才能删除这个外键列?