select A.M,B.N
from Table1 A
left join Table2 B on A.Table2_SID = B.SID
where M = 'xxx'
当Table1和Table2中都有名为M的列时,将会查不出任何记录!尽管Table1中有符合where条件的记录。
这个问题很奇怪。。。按理说,如果是因为M未明确指定的原因,oracle应该给报个“ORA-00918: column ambiguously defined”才是。
当然,避免问题出现的解决办法很简单,就是为where条件里的列M指定表别名:
select A.M,B.N
from Table1 A
left join Table2 B on A.Table2_SID = B.SID
where A.M = 'xxx'