oracle的full join关联的表限制条件在on后面与限制
2021-12-27 本文已影响0人
园溪
create table test_a(
id number,
name varchar2(10)
);
create table test_b(
id number,
name varchar2(10)
);
![](https://img.haomeiwen.com/i13263307/c474472ae3614fe0.png)
![](https://img.haomeiwen.com/i13263307/c9fab50cc9e76959.png)
select * from test_a a full join test_b b on a.id=b.id and b.id=3 order by a.id,b.id;
![](https://img.haomeiwen.com/i13263307/e7fe789706272059.png)
select * from test_a a full join (select * from test_b where id=3) b on a.id=b.id order by a.id,b.id;
![](https://img.haomeiwen.com/i13263307/86b94fe0ad377346.png)
如果left join的情况查询的结果数据是一致的:
select * from test_a a left join test_b b on a.id=b.id and b.id=3 order by a.id,b.id;
![](https://img.haomeiwen.com/i13263307/950530df653623e5.png)
select * from test_a a left join(select * from test_b where id=3) b on a.id=b.id order by a.id,b.id;
![](https://img.haomeiwen.com/i13263307/1e9ffaae80e559a2.png)