当前位置: 代码迷 >> MySQL >> MySQL开发技艺——与Join相关的SQL技巧
  详细解决方案

MySQL开发技艺——与Join相关的SQL技巧

热度:72   发布时间:2016-05-05 16:49:56.0
MySQL开发技巧——与Join相关的SQL技巧

    在上一篇文章中,我们具体介绍了如何正确使用Join语句。这里我们将会介绍与Join相关的SQL技巧。

    技巧一:使用Join来进行联合更新

    举例:如何更新使用过滤条件中包括自身的表?

    情景:把同时存在于取经四人组和悟空兄弟表中的记录的人在取经四人组表中的id字段更新为10。

    SQL语句:UPDATE t1 a JOIN(SELECT b.user_name FROM t1 a INNER JOIN t2 b ON a.user_name=b.user_name)b ON a.user_name=b.user_name SET a.id = 10;

    

    技巧二使用JOIN优化子查询

    查询语句SELECT a.user_name,a.id,b.id AS id2 FROM t1 a LEFT JOIN t2 b ON a.user_name=b.user_name;

  

    技巧三:使用JOIN优化聚合子查询。

    首先我们创建一张新表:师徒四人组每人的打怪数量。

   

    问题:如何查询四人组中打怪最多的id?(避免子查询)

    查询语句:SELECT a.user_name,b.id,b.kills FROM t1 a JOIN t3 b ON a.id=b.user_id JOIN t3 c ON c.user_id=b.user_id GROUP BY a.user_name,b.id,b.kills HAVING b.kills = MAX(c.kills); 

   




版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案