加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重

发布时间:2020-12-12 02:56:11 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重》要点: 本文介绍了Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重,希望对您有用。如果有疑问,可以联系我们。 主要涉及:JOIN 、JOIN 更新、GROUP BY HAVING 数据查重/去重 MYSQL必读 1 INNER J

《Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重》要点:
本文介绍了Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重,希望对您有用。如果有疑问,可以联系我们。

主要涉及:JOIN 、JOIN 更新、GROUP BY HAVING 数据查重/去重MYSQL必读

1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN
MYSQL必读

这是在网上找到的非常好的一篇博文,图解 join 语句:MYSQL必读

CODING HORROR-A Visual Explanation of SQL JoinsMYSQL必读

下图可以很清楚的明白,join 的数据选取范围MYSQL必读

[][1]
[1]: http://7xs09x.com1.z0.glb.clouddn.com/160725-imooc-mysql-development-skills-notes-001.pngMYSQL必读

2 更新使用过滤条件中包括本身的表
MYSQL必读

更新 t1 t2 表中 col_a 重复的字段MYSQL必读

UPDATE t1 
SET col_a = 'hi' 
WHERE t1.col_a IN (
 SELECT b.col_a
 FROM t1 a INNER JOIN t2 b on
 a.col_a = b.col_a
)
;
ERROR:1093 

可转换为:MYSQL必读

UPDATE t1 aa JOIN(
 SELECT b.col_a
 FROM t1 a INNER JOIN t2 b on
 a.col_a = b.col_a
)bb on aa.col_a= bb.col_a
SET col_a = 'hi' 
;

3 查询重复数据、删除重复数据
MYSQL必读

利用 GROUP BY 和 HAVING 查询重复数据MYSQL必读

SELECT col_a,COUNT(*)
FROM t1
GROUP BY col_a HAVING COUNT(*) > 1
;

删除重复数据,对于相同数据保留 ID 最大的MYSQL必读

DELETE a
FROM t1 a JOIN (
 SELECT col_a,COUNT(*),MAX(id) AS id
 FROM t1
 GROUP BY col_a HAVING COUNT(*) > 1
)b ON a.col_a = b.col_a
WHERE a.id < b.id
;

感谢阅读此文,希望能赞助到大家,谢谢大家对本站的支持!MYSQL必读

《Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重》是否对您有启发,欢迎查看更多与《Mysql必读mysql 开发技巧之JOIN 更新和数据查重/去重》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读