我想要实现的是我有一个表A和表B他们都使用相同的ID,但是A中的一些ID在B中不存在,因此如果我正在寻找那个特定的ID并且有加入我没有得到任何东西。
我的查询就像这样
SELECT *
FROM table_A A
LEFT JOIN table_B B
ON A.id = B.id
WHERE B.condition <> "X"
AND A.id = "Y"
如果我选择A和B中存在的ID并且它有效,但是如果它只存在于A中,那么即使该行不在表B中,我怎么能得到结果?
答案 0 :(得分:2)
将table_B条件移至ON
子句,以获得LEFT JOIN
结果,而不是INNER JOIN
结果。
SELECT *
FROM table_A A
LEFT JOIN table_B B
ON A.id = B.id
AND B.condition <> "X"
WHERE A.id = "Y"