SQL大概如下
SELECT *
FROM t1,
t2 .. .. .
WHERE t1.id = t2.id
AND t3.xxx = t4.xxx(+);
t3.xxx = t4.xxx(+)
在t4后面有一个 ‘+’ 号,听说这个好像是类似left join 一样的? 但是具体不清楚,请教下各位前辈 这个是什么意思
------解决方案--------------------
不是类似,就是左外连接。
返回左右2表所有符合t3.xxx = t4.xxx条件的记录,并且返回左边表(本例即t3)中其他所有不符合连接条件的记录。
------解决方案--------------------
你验证下结果就知道了啊.....
------解决方案--------------------
是连接,不过最好还是用 left join这种
------解决方案--------------------
左连接
右连接
的老式写法.
建议改为left join , right join
------解决方案--------------------
左外连接,右外连接 ,Oracle 不支持 全外连接! 建议lz先看看Oracle 入门基础 或者 sql语言大全
------解决方案--------------------
9i以前:
- SQL code
--左联:select a.id,a.name,b.address from a,bwhere a.id=b.id(+)--右联:select a.id,a.name,b.address from a,bwhere a.id(+)=b.id--外联SELECT a.id,a.name,b.addressFROM a,bWHERE a.id = b.id(+)UNIONSELECT b.id,'' name,b.addressFROM bWHERE NOT EXISTS (SELECT * FROM aWHERE a.id = b.id);