至少在MariaDB v10.x中,爲什麼具有左連接的真子句不起作用,因爲我期望有NULL
的返回值?左連接奇怪
以下工作:
SELECT
u.id
FROM
user u
INNER JOIN role r on r.user = u.id
INNER JOIN customer c ON c.id = r.customer
LEFT JOIN customer_subclass cs ON cs.customer = c.id
WHERE
u.status = 'NEW' AND (cs.code != 4 OR cs.code IS NULL)
,但是當我第一次嘗試
WHERE
u.status = 'NEW' AND cs.code != 4
時cs.code
是NULL
沒有奏效。爲什麼我必須專門針對NULL
本身進行測試?我會假設NULL != 4
?
將cs.code!= 4移動到ON子句以獲得真正的LEFT JOIN行爲。 – jarlh