2017-04-19 17 views
0

首先,如果我沒有正確地問這個問題,我表示歉意。如果在另一個表中不存在標識符,則刪除表中的行

我有兩個mysql表。我需要幫助做一個mysql查詢,將刪除表中的所有行(table_applied)其中標識符不存在於另一個(table_approved)(標識符是唯一的電子郵件)。

例如:

table_approved

Name  Email   Entry 
Thelma [email protected] 123 
Vincent [email protected] 456 
Thelma [email protected] 789 

table_applied

Name    Email 
Thelma AB  [email protected] 
Louise Ross  [email protected] 
Vincent Vega  [email protected] 
Mia Wallace  [email protected] 

運行查詢後table_applied

Name    Email 
Thelma AB  [email protected] 
Vincent Vega  [email protected] 

非常感謝。

回答

0

使用子查詢:

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

見MySQL手冊上subqueriescomparison operators(如NOT IN)。

相關問題