我正在尝试一个简单的 LEFT JOIN 查询,我希望 LEFT 表中的记录在 RIGHT 表中没有匹配项。
SELECT
LeftTable.ID,
RightTable.ID as NullID
FROM
LeftTable
LEFT OUTER JOIN RightTable ON RightTable.ID = LeftTable.ID
那么,如何选择结果只包含 NullID 为 NULL 的记录的行?我认为 LEFT OUTER JOIN 是必需的,但所有左记录都返回匹配和不匹配的右记录,而我只想要左记录与不匹配的右记录。数据库引擎是 InnoDB。
例如,查询返回以下内容:
LeftTable.ID, NullID
1, 1
2, Null
我只想要结果 2 即 NullID = Null
我尝试了以下 LEFT JOIN 并且是我一直在尝试的那种查询,但我收到错误“[Err] 1054 - Unknown column 'NullID' in 'where Clause'”。
SELECT
LeftTable.ID,
RightTable.ID as NullID
FROM
LeftTable
LEFT JOIN RightTable ON RightTable.ID = LeftTable.ID
where NullID = Null;
希望这能解释我的问题。谢谢。