多表删除问题
一辆想出轨的无轨电车
一辆想出轨的无轨电车 2016-12-21 18:01:39
0
2
867

输入命令: SELECT a.goods_id,a.goods_name FROM tdb_goods AS a LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>1) AS b  ON a.goods_name = b.goods_name ;

显示的是tdb_goods 的所有选项

但是在后面加上WHERE a.goods_id > b.goods_id,就只显示两条结果

 命令:SELECT a.goods_id,a.goods_name FROM tdb_goods AS a LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>1) AS b  ON a.goods_name = b.goods_name WHERE a.goods_id > b.goods_id;

结果:

+----------+-------------------------+

| goods_id | goods_name              |

+----------+-------------------------+

|       26 |  HMZ-T3W 头戴显示设备

|       27 | 玄龙精英版 笔记本散热器

+----------+-------------------------+

2 rows in set (0.00 sec)

前后只是差了一个条件,如果把LEFT JION 改成RIGHT JION 或者 INNER JION 我都可以理解,就是LEFT JION 不明白,求各位大神指点迷津。


一辆想出轨的无轨电车
一辆想出轨的无轨电车

全部回复(2)
数据分析师

多表删除问题-PHP中文网问答-多表删除问题-PHP中文网问答

围观一下哦,学习一下。

巴扎黑

因为where相当于对链接后的呈现的表再进行了一步操作:条件就是只展示a.goods_id>b.goods_id。根据子查询生成的b表本身只有两条数据(这两条数据本身就是tdb_goods中的重复数据,a中一定也存在而且一共为4条),其中符合进一步筛选条件的只有两条。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!