多表删除(三十八)

多表删除的语法结构

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被我们删除掉了。 实际上我们这里既演示了多表删除的操作,又演示了如何使用单表来模拟多表来删除重复的记录。接下来大家自己可以多练习一下。

原文地址:https://www.cnblogs.com/zlslch/p/6543123.html