MySQL 关联查询规范及联表规则

  • 关联表查询尽量控制在五张表以内(阿里规范中是三张)
  • 在关联查询时,尽量使inner join在前,left/right join在后。
  • 关联查询时,要给关联表取别名。
  • 关联查询时,关联表的字段前需要使用别名.字段名的形式。
  • 关联查询时,on关联条件左侧是当前关联表,右侧是其他关联表。
select a.a1,b.b1,c.c1 
from a as a 
inner join b as b on b.aid = a.id 
left join c as c on c.bid = b.id
  • 关联查询时,group by的字段一定是可靠、唯一的,无论是否需要该字段,一定要将该字段放到查询的首位。
  • 当有sum数据出现时,排序如果按照sum的字段排序,那么要使用order by as 字段进行排序。(order by sum(column) as A)

联表规则

联表顺序,不是两两联合之后,再去联合第三张表,而是驱动表的一条记录穿到底,匹配完所有关联表之后,再取驱动表的下一条记录重复联表操作;

神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)

你可能感兴趣的:(MySQL,java,restful,http)