oracle的left join和where里的(+)怎么转换
发布网友
发布时间:2022-04-13 20:37
我来回答
共3个回答
热心网友
时间:2022-04-13 22:06
可以参考如下语句,其中语句1是left join用法,语句2是(+)用法。
1、select 列名 from 表1 left join 表2 on 条件
2、select 列名 from 表1 ,表2 where 表1.条件(+)=表2.条件
关于使用(+)的一些注意事项:
1.(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。
2. 当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符
3.(+)操作符只适用于列,而不能用在表达式上。
4.(+)操作符不能与or和in操作符一起使用。
5.(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。
热心网友
时间:2022-04-13 23:24
1、select 列名 from 表1
left join 表2
on 条件
2、select 列明 from 表1 ,表2
where 表1.条件(+)=表2.条件追问那这种呢?
select 表2.a as a,表2.a as b,表3.a as c,表4.b as d from 表1 a,表2 b,表2 c,表3 d,表4 e
where a.条件(+)=b.条件
and a.条件(+)=c.条件
and d.条件(+)=c.条件
and e.条件(+)=a.条件
追答select * from 表1 c
left join
(select ss from 表2 a
left join 表3 b
on a.ss=b.ss) f
on f.dd = c.dd
后面的自己写
热心网友
时间:2022-04-14 00:59
哪边数据少哪边用 (+)