多表删除(三十八)
多表删除的语法结构
DELETE tbl_name[.*] [,tbl_name[.*]]…
FROM table_references
[WHERE where_condition]
我们还以商品表为例,我们再来查看一下表里的记录,我们输入SELECT * FROM tdb_goods\G;
那么我现在要删除掉重复的记录并保留id号最小的记录,我该怎么写呢?
实际上这也是通过多表来实现的,但是我们还是通过单表来模拟多表。
那么下面我们先来查看一下重复的记录,操作命令及结果如下:
我们发现得到了21条记录,为什么少了两条呢,因为里边有重复的,那我们现在要找出哪些是重复的。
我们就在分组后面加上一个条件,修改后的命令及结果如下:
Ok,命令执行成功,那么这就是以后要保留或要删除的那两个。那么我们就参照这张表来删除上边那张表的数据。
下边我们就照着语法结构来写我们的SQL语句。操作命令及结果如下:
OK,两条记录被删除。
下面我们来查看一下,我们输入SELECT * FROM tdb_goods\G;
我们再仔细看一下,我们会发现21条记录的编号为23,21和22被我们删除掉了。 实际上我们这里既演示了多表删除的操作,又演示了如何使用单表来模拟多表来删除重复的记录。接下来大家自己可以多练习一下。
作者:大数据和人工智能躺过的坑
出处:http://www.cnblogs.com/zlslch/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!