MySQL中按可NULL列JOIN时的有关问题

MySQL中按可NULL列JOIN时的问题

MySQL中,SELECT NULL=NULL结果是NULL,SELECT NULL!=NULL结果也是NULL。

 

如果两个表按某几个列中进行JOIN,如果有一列允许有NULL值,那么关联时要进行特殊处理。一个例子,wbk_mrdic_hscodeCODE_TCODE_S进行JOINCODE_S可以为NULLSQL如下:

SELECT m.`CODE_T`,m.`CODE_S`, h.`UNIT_1`,h.`UNIT_2` 

FROM `wbk_mr` m 

JOIN `dic_hscode` h 

ON m.`CODE_T`=h.`CODE_T` 

AND (m.`CODE_S`=h.`CODE_S` OR (m.`CODE_S` IS NULL AND h.`CODE_S` IS NULL) )