多表删除的语法结构
DELETE tbl_name[.*] [,tbl_name[.*]]…
FROM table_references
[WHERE where_condition]
我们还以商品表为例,我们再来查看一下表里的记录,我们输入SELECT * FROM tdb_goodsG;
那么我现在要删除掉重复的记录并保留id号最小的记录,我该怎么写呢?
实际上这也是通过多表来实现的,但是我们还是通过单表来模拟多表。
那么下面我们先来查看一下重复的记录,操作命令及结果如下:
我们发现得到了21条记录,为什么少了两条呢,因为里边有重复的,那我们现在要找出哪些是重复的。
我们就在分组后面加上一个条件,修改后的命令及结果如下:
Ok,命令执行成功,那么这就是以后要保留或要删除的那两个。那么我们就参照这张表来删除上边那张表的数据。
下边我们就照着语法结构来写我们的SQL语句。操作命令及结果如下:
OK,两条记录被删除。
下面我们来查看一下,我们输入SELECT * FROM tdb_goodsG;
我们再仔细看一下,我们会发现21条记录的编号为23,21和22被我们删除掉了。 实际上我们这里既演示了多表删除的操作,又演示了如何使用单表来模拟多表来删除重复的记录。接下来大家自己可以多练习一下。