SQL 语句 增删改查、边学习边增加中..... 这一部分为delete
SQL语句按照最大的类别分为
1、增加 insert
2、删除 delete https://www.cnblogs.com/kuangmeng/p/17756654.html
3、修改update https://www.cnblogs.com/kuangmeng/p/17758060.html
4、查询 select https://www.cnblogs.com/kuangmeng/p/17756425.html
这一部分为delete 删除操作,以及对应的Leecode题,进行加深印象。通常 delete from 表名 ,这条SQL语句代表删除表名的所有数据。
这里为了加深自己的印象,先介绍一下自连接 与 笛卡尔积连接的区别:
自连接:同一张表被当做不同的表进行连接。只能通过where设置条件,而不能通过on。
笛卡尔积连接:对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。
PS:没有条件的时候是笛卡尔积连接(多张表),有条件时是自连接。
解题思路:多个重复, 保留一个。 按照条件来删除 拟定采用 delete 和 where 。
采用自连接的方式 ,按照表中3条数据的方式,再加入p1.Email = p2.Email条件,p1.id > p2.id条件。
delete p1 FROM Person as p1, Person as p2 WHERE p1.Email = p2.Email and p1.id > p2.id;