如果另一个表中不存在标识符,则删除表中的行

时间:2017-04-19 14:32:06

标签: mysql

首先,如果我没有正确地问这个,我道歉。

我有两个mysql表。我需要帮助创建一个mysql查询,该查询将删除表中的所有行( table_applied ),其中标识符不存在于另一个表中( table_approved )(标识符是唯一的电子邮件)。

例如:

table_approved

Name      Email           Entry
Thelma    abc@null.com    123   
Vincent   lmn@null.com    456
Thelma    abc@null.com    789

table_applied

Name             Email
Thelma AB        abc@null.com
Louise Ross      ijk@null.com
Vincent Vega     lmn@null.com
Mia Wallace      opq@null.com
运行查询后

table_applied

Name             Email
Thelma AB        abc@null.com
Vincent Vega     lmn@null.com

非常感谢。

1 个答案:

答案 0 :(得分:0)

使用子查询:

DELETE FROM table_applied
WHERE "Email" NOT IN (SELECT "Email" FROM table_approved)

请参阅subqueriescomparison operators上的MySQL手册(如NOT IN)。