mysql左连接

1  mysql中左连接后,最终的记录数大于左边表的记录分析

如果B表符合条件的记录数大于1条,就会出现1:n的情况,这样left join后的结果,记录数会多于A表的记录数。

例如:member与member_login_log表的结构如下,member记录会员信息,member_login_log记录会员每日的登入记录。member表的id与member_login_log表的uid是对应关系。

member 表

 

member_login_log 表

 

 

查询member用户的资料及最后登入日期:
如果直接使用left join

 


 

但这并不是我们要的结果,因此这种情况需要保证B表的符合条件的记录是空或唯一,我们可以使用group by来实现。

 

总结:使用left join的两个表,最好是1:1 或 1:0的关系,这样可以保证A表的记录全部显示,B表显示符合条件的记录。

 

 
 
 
 
posted @ 2018-11-02 20:49  踏月而来  阅读(3519)  评论(0编辑  收藏  举报