大家好~今天Amy要给大家分享一些关于MySQL左连接的知识点,以Amy多年的经验来看可以说是非常实用了,可以帮助大家有效的避免一些误区。对分布式事务数据库感兴趣的也可以翻一翻之前的文章哦。闲言少叙,我们直接上干货!
MySQL左连接
【现象】
Ecbil项目中使用左联接的SQL语句,几乎全部存在如图1-1所示的不当写法:
为便于更多的技友快速读懂、理解,只讨论2张表对象进行连接操作的情况,大于2张表对象进行的连接操作原理也是一样的。
【语法】
SELECT M.columnname……,N.* columnname……
FROM left_table M LEFT JOIN right_table N ON M. columnname_join=N. columnname_join AND N. columnname=XXX
WHERE M.columnname=XXX……
【特性】
ON字句连接条件,用于把2表中等值的记录连接在一起,但是不影响记录集的数量。若是left_table中的某记录,无法在表right_table找到对应的记录,则此记录依然显示在记录集钟,只表 right_table需要在查询显示的列的值用NULL替代;
ON字句连接条件中表right_table. columnname=XXX用于控制right_table表是否有符合要求的列值还是用NULL替换的方式显示在查询列中,不影响记录集的数量;
WHERE字句控制记录是否符合查询要求,不符合则过滤掉&#