外连接IFNULL使用

IFNULL(fieldA,fieldB),当字段fieldANULL时取fieldB,不是NULL时取fieldA的值。

问题:需要左联接查询交易相关的联系人名称,当交易表中联系人字段为null时,mybaties查询的结果会自动过滤掉null

SQL1:

select t.id,c.fullname as contactName

from tbl_trans t

left join tbl_contacts c

on t.contactId = c.id

where t.name = "aaaa"

查询结果显示1个字段:{"id":"c6fc1fdb3f8f49298f652801df36a446"}

当交易表的联系人为空时,SQL1的结果只显示t.id,contactName为null被过滤掉

tbl_trans:

外连接IFNULL使用_第1张图片

tbl_contacts:

外连接IFNULL使用_第2张图片

 

SQL2:

select t.id,IFNULL(c.fullname,"") as contactName

from tbl_trans t

left join tbl_contacts c

on t.contactId = c.id

where t.name = "aaaa"

查询结果显示2个:

{"contactName":"","id":"c6fc1fdb3f8f49298f652801df36a446"}

 

 

你可能感兴趣的:(Java)