我有一个问题:
Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C
Where b.D ='someValue'
但是当右侧为空时,我没有记录,所以左连接不起作用。
您知道如何更改此查询以更正查询吗?
答案 0 :(得分:5)
将附加连接条件移动到on子句:
Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C and b.D = 'someValue'
答案 1 :(得分:0)
由于您的where子句,右侧为null时,查询不返回任何内容。如果没有引用表b,则不会满足where子句。
我不太确定如何更正您的查询。在我看来,这个查询暗示了两个表之间的链接是必需的,因此你的结果在语义上是正确的。