0
点赞
收藏
分享

微信扫一扫

mysql join表on的连接字段避开默认为null的字段

河南妞 2022-04-14 阅读 28
mysql

背景:在最近的工作中遇到 LEFT JOIN 表没有得到预期数据的问题,经过排查原因竟然是表字段默认为NULL导致的。

用navicat新建两张表,ltable_null,rtable_null。建表都默认为null。

 

插入测试数据如下

执行一下SQL,发现没有得到我们想要的数据。

SELECT a.name2,a.name3,b.datas  FROM Ltable_null a
LEFT JOIN Rtable_null b   on a.name2=b.name2  AND a.name3=b.name3

 为了得到我们想要的数据,现在我们更新表的默认值,把null改为''

UPDATE ltable_null SET name3='' WHERE name2='zhushi';
UPDATE rtable_null SET name3='' WHERE name2='zhushi';

再次执行之前的查询SQL,得到我们想要的数据

 为了解决这种问题,建议在建表时选择EMPTY STRING,或者遇到此类问题将数据update 为 '' 

 

举报

相关推荐

0 条评论