当使用join语句进行连表查询时,若指定了表明的别名时,当查询条件仍然使用表原名时会报错,实例代码如下:
[SQL] select * from tb_user a left join tb_ivision_booking_info b on tb_user.uid=tb_ivision_booking_info.userid limit 10;
[Err] 1054 - Unknown column 'tb_user.uid' in 'on clause';
分析原因:使用explain执行查询计划,发现table字段值是之前设置的表别名,而非表原名。
EXPLAIN select * from tb_user a left join tb_ivision_booking_info b on a.uid=b.userid limit 10;
本文通过一个具体的SQL查询示例,展示了在使用表别名进行连接查询时,如果在ON子句中错误地使用了表原名而非别名会导致查询失败的问题,并通过执行计划解释了原因。
1万+

被折叠的 条评论
为什么被折叠?



