由于mysql不能像oracle一样使用(+)做外连接,使用left join或者right join需要注意
oracle:
select a.aid aid , b.bid bid ,c.cid cid , d.did did , e.eid eid
from
tablea a ,
tableb b ,
tablec c ,
tabled d ,
tablee e
where
a.aid = b.aid (+)
and a.aid = c.aid(+)
and b.bid = d.bid (+)
and d.did = e.eid (+)
order by a.aid , b.bid , c.cid , d.did ,e.eid
;
mysql:
select a.aid aid , b.bid bid ,c.cid cid , d.did did , e.eid eid
from
tablea a left join
(
tableb b left join
(
tabled d left join tablee e
on (d.did = e.eid)
)
on (b.bid = d.bid )
)
on ( a.aid = b.aid)
left join tablec c
on a.aid = c.aid
order by a.aid , b.bid , c.cid , d.did ,e.eid
;
引至http://www.itpub.net/thread-1122562-1-1.html