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

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

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) )