任何人都可以帮我找出以下场景的正确WHERE子句:
select A.name
from tableA A, tableB B
where A.id = B.id
and
(
B.field = 5
OR
B.hasNoRowForJoinedID
)
我觉得我错过了一些在如何实现这一目标方面非常明显的东西,但我不能为我的生活指责它。
答案 0 :(得分:3)
您使用的是过时的SQL语法。要根据您的上述请求执行LEFT OUTER JOIN,您可以执行以下操作:
SELECT A.name
FROM A
LEFT OUTER JOIN B ON A.id = B.id
WHERE (B.field = 5 OR B.field IS NULL)
答案 1 :(得分:1)
使用正确的join
语法,而不是过时的语法:
select A.name
from tableA A
left join tableB B on A.id = B.id and B.field = 5