企业网站的建立之前必须首先确定,最早做视频播放网站,qq推广引流怎么做,php 做资讯网站目录
语法
需求
示例
分析
代码 语法 DELETE删除表中所需内容 删除表中满足特点条件的行#xff1a;DELETE FROM 表名 WHERE 条件;
删除表中所有行#xff1a;DELETE FROM 表名; WHERE子句 WHERE子句用于指定从表中选取记录的条件。允许筛选数据#xff0c;只返回满足…目录
语法
需求
示例
分析
代码 语法 DELETE删除表中所需内容 删除表中满足特点条件的行DELETE FROM 表名 WHERE 条件;
删除表中所有行DELETE FROM 表名; WHERE子句 WHERE子句用于指定从表中选取记录的条件。允许筛选数据只返回满足特定条件的记录。WHERE子句可以包含各种条件这些条件可以基于一个或多个列的值。可以使用逻辑运算符如AND、OR、NOT来组合多个条件。后文示例可供提供and和not的用法。 子查询 子查询Sub Query或称为内查询Inner Query、嵌套查询Nested Query是SQL语言中一种常用的程序模块用于在一个查询语句中嵌套另一个查询语句。当一个查询的结果是另一个查询的条件时这个查询就被称为子查询。
子查询必须括在圆括号中。子查询SELECT子句通常只有一个列除非主查询中多个列与子查询中的列进行比较。子查询不能直接使用ORDER BY但可以在子查询中使用GROUP BY。返回多行数据的子查询只能与多值操作符如IN一起使用。
需求
表:Person
±------------±-------- | Column Name | Type | ±------------±-------- | id | int | | email | varchar | ±------------±-------- id 是该表的主键列(具有唯一值的列)。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。
编写解决方案删除所有重复的电子邮件只保留一个具有最小id的唯一电子邮件。
运行脚本后显示的答案是Person表。驱动程序将首先编译并运行代码片段然后再显示Person表。Person表的最终顺序无关紧要。
示例
输入: Person 表: ±—±----------------- | id | email | ±—±----------------- | 1 | johnexample.com | | 2 | bobexample.com | | 3 | johnexample.com | ±—±----------------- 输出: ±—±----------------- | id | email | ±—±----------------- | 1 | johnexample.com | | 2 | bobexample.com | ±—±----------------- 解释: johnexample.com重复两次。我们保留最小的Id 1。
分析 编写解决方案删除所有重复的电子邮件只保留一个具有最小id的唯一电子邮件。 相当于删除所有id较大且重复的电子邮箱 仅提供一个Person表包含id和email 可以直接作笛卡尔积比较id大小和电子邮箱删除所有id较大且相同的电子邮箱
通过where语句和and并列即可实现where a.idb.id and a.emailb.email 同样的思路也可以通过子查询实现 通过子查询查找id最小的电子邮箱
select min(id) as id from Person group by email 再通过where not in 剔除其他信息 where id not in ( select id from ( select min(id) as id from Person group by email ) u )
代码
delete a
from Person a, Person b
where a.idb.id and a.emailb.emailOR
delete from Person
where id not in
(select id from (select min(id) as id from Person group by email) a
)