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:没有条件的时候是笛卡尔积连接(多张表),有条件时是自连接。

196. 删除重复的电子邮箱

解题思路:多个重复, 保留一个。 按照条件来删除 拟定采用 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;

 

posted @ 2023-10-11 17:27  我太想努力了  阅读(14)  评论(0编辑  收藏  举报