1、引用以下经验中创建的表及数据,并且在student表中添加一些数据,如下图所示,这样为外连接score查出null值做准备。

3、利用left join左连接进行联查,sql如下。

5、分析该报错,日志中提示setScore的时候报蕾蓄允嘞错,为非法值;该提示只有sql查出的score字段为null,在返回给张嫜较氅接收实体类时,才会有该报错信息,因此,问题出现在查询返回null上面。利用sql直接在数据库中查找,如下结果,验证了该字段有null 值的猜想。

7、使用ifnull方法,将其放入进查询sql中,如下图所示进行添加。

9、更换程序ibatis的mapper文件中的sql并保存。

11、这样就解决了SQL中使用left join关联查询存在的问题,当然如果需要将值根据条件变更多个,可以使用if()方法。