LeetCode196——删除重复的电子邮箱

版权声明:我的GitHub:https://github.com/617076674。真诚求星! https://blog.csdn.net/qq_41231926/article/details/86604536

我的LeetCode代码仓:https://github.com/617076674/LeetCode

原题链接:https://leetcode-cn.com/problems/delete-duplicate-emails/description/

题目描述:

知识点:DELETE语句

思路:DELETE语句+WHERE子句

当DELETE语句中的表有别名时,必须写成DELETE p1 FROM Person AS p1的形式,不能写成DELETE FROM Person AS p1的形式,这样写会报错。

另外一点,MySQL中,不能先SELECT一个表的记录,再按此条件进行更新和删除同一个表的记录,否则会报错——“You can’t specify target table for update in FROM clause”。解决办法是,将SELECT得到的结果,再通过中间表SELECT一遍,这样就规避了错误。

SQL语句:

DELETE  
    p1 
FROM 
    Person AS p1, Person AS p2 
WHERE 
    p1.Email = p2.Email AND p1.Id > p2.Id;

LeetCode解题报告:

猜你喜欢

转载自blog.csdn.net/qq_41231926/article/details/86604536