注册 登录
编程论坛 SQL Server论坛

请教关于三表查询的问题(oracle转SQL的写法)

happy晴天 发布于 2012-05-15 22:21, 283 次点击
表名:a,b, c
a表字段A,D  b表字段B, c表字段C  

oracle写法:
SELECT a.A,b.B,c.C
FROM
a,b,c
where
a.D(+)=0
AND b.B=a.A(+)
AND a.A = c.C (+)

变成SQL的写法是什么
第一种写法:
SELECT a.A,b.B,c.C
FROM
b LEFT OUTER JOIN a ON b.B=a.A AND a.D=0
LEFT OUTER JOIN c ON a.A = c.C

第二种写法:
SELECT a.A,b.B,c.C
FROM
a LEFT OUTER JOIN c ON a.A = c.C AND a.D = 0
RIGHT OUTER JOIN b ON b.B=a.A AND a.D = 0

第三种写法:
SELECT a.A,b.B,c.C
FROM
a LEFT OUTER JOIN c ON a.A = c.C
RIGHT OUTER JOIN b ON b.B=a.A
WHERE a.D = 0

这三种写法哪种对,还是有别的写法,谢谢大家了
主要就是三个表左,右连接的问题

0 回复
1