MySQL 关联查询规范

520 阅读1分钟
  • 关联表查询尽量控制在五张表以内(阿里规范中是三张)
  • 在关联查询时,尽量使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 

联表规则

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

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